From 4880c5be79f76949e4cdeac7e99804b53958c5e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Thu, 30 Jan 2025 23:26:18 +0100 Subject: [PATCH 01/16] MOBILE-4759 chore: Addon components as standalone --- src/addons/badges/badgeclass-lazy.module.ts | 2 -- src/addons/badges/badges-lazy.module.ts | 2 -- src/addons/badges/pages/badge-class/badge-class.ts | 5 +++++ src/addons/badges/pages/user-badges/user-badges.ts | 5 +++++ src/addons/blog/blog-lazy.module.ts | 2 -- src/addons/blog/pages/index/index.ts | 11 +++++++++++ src/addons/calendar/calendar-lazy.module.ts | 2 -- src/addons/calendar/components/calendar/calendar.ts | 5 +++++ src/addons/calendar/components/components.module.ts | 6 ++---- .../components/upcoming-events/upcoming-events.ts | 5 +++++ src/addons/calendar/pages/day/day.ts | 5 +++++ src/addons/calendar/pages/edit-event/edit-event.ts | 7 +++++++ src/addons/calendar/pages/event/event.ts | 5 +++++ src/addons/calendar/pages/index/index.ts | 9 +++++++++ src/addons/calendar/pages/settings/settings.ts | 5 +++++ .../competency-learning-plans-lazy.module.ts | 2 -- .../pages/competencies/competencies.module.ts | 2 -- .../pages/competencies/competencies.page.ts | 5 +++++ .../competency/pages/competency/competency.module.ts | 2 -- .../competency/pages/competency/competency.page.ts | 5 +++++ .../competencysummary/competencysummary.module.ts | 2 -- .../competencysummary/competencysummary.page.ts | 5 +++++ .../coursecompetencies/coursecompetencies.module.ts | 2 -- .../coursecompetencies/coursecompetencies.page.ts | 5 +++++ src/addons/competency/pages/plan/plan.ts | 5 +++++ src/addons/competency/pages/planlist/planlist.ts | 5 +++++ .../coursecompletion/coursecompletion-lazy.module.ts | 2 -- src/addons/coursecompletion/pages/report/report.ts | 5 +++++ .../messageoutput/airnotifier/airnotifier.module.ts | 4 +--- .../airnotifier/pages/devices/devices.ts | 5 +++++ src/addons/messages/messages-lazy.module.ts | 2 -- src/addons/messages/pages/contacts/contacts.ts | 5 +++++ src/addons/messages/pages/discussion/discussion.ts | 5 +++++ .../pages/group-conversations/group-conversations.ts | 7 +++++++ src/addons/messages/pages/search/search.ts | 7 +++++++ src/addons/mod/assign/assign-lazy.module.ts | 2 -- .../mod/assign/components/components.module.ts | 8 +++----- .../components/feedback-plugin/feedback-plugin.ts | 5 +++++ src/addons/mod/assign/components/index/index.ts | 8 ++++++++ .../submission-plugin/submission-plugin.ts | 5 +++++ .../mod/assign/components/submission/submission.ts | 10 ++++++++++ .../mod/assign/feedback/comments/comments.module.ts | 4 +--- .../assign/feedback/comments/component/comments.ts | 7 +++++++ .../mod/assign/feedback/editpdf/component/editpdf.ts | 5 +++++ .../mod/assign/feedback/editpdf/editpdf.module.ts | 4 +--- .../mod/assign/feedback/file/component/file.ts | 5 +++++ src/addons/mod/assign/feedback/file/file.module.ts | 4 +--- src/addons/mod/assign/pages/edit/edit.ts | 7 +++++++ src/addons/mod/assign/pages/index/index.ts | 6 ++++++ .../assign/pages/submission-list/submission-list.ts | 5 +++++ .../pages/submission-review/submission-review.ts | 6 ++++++ .../assign/submission/comments/comments.module.ts | 4 +--- .../assign/submission/comments/component/comments.ts | 7 +++++++ .../mod/assign/submission/file/component/file.ts | 5 +++++ src/addons/mod/assign/submission/file/file.module.ts | 4 +--- .../submission/onlinetext/component/onlinetext.ts | 7 +++++++ .../submission/onlinetext/onlinetext.module.ts | 4 +--- .../bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts | 2 -- .../bigbluebuttonbn/components/components.module.ts | 4 +--- .../mod/bigbluebuttonbn/components/index/index.ts | 7 +++++++ src/addons/mod/bigbluebuttonbn/pages/index/index.ts | 6 ++++++ src/addons/mod/book/book-lazy.module.ts | 2 -- src/addons/mod/book/components/components.module.ts | 4 +--- src/addons/mod/book/components/index/index.ts | 7 +++++++ src/addons/mod/book/pages/contents/contents.ts | 7 +++++++ src/addons/mod/book/pages/index/index.ts | 6 ++++++ src/addons/mod/chat/chat-lazy.module.ts | 2 -- src/addons/mod/chat/components/components.module.ts | 4 +--- src/addons/mod/chat/components/index/index.ts | 7 +++++++ src/addons/mod/chat/pages/chat/chat.ts | 5 +++++ src/addons/mod/chat/pages/index/index.ts | 6 ++++++ .../chat/pages/session-messages/session-messages.ts | 5 +++++ src/addons/mod/chat/pages/sessions/sessions.ts | 5 +++++ src/addons/mod/choice/choice-lazy.module.ts | 2 -- .../mod/choice/components/components.module.ts | 4 +--- src/addons/mod/choice/components/index/index.ts | 7 +++++++ src/addons/mod/choice/pages/index/index.ts | 6 ++++++ src/addons/mod/data/components/action/action.ts | 9 +++++++++ .../mod/data/components/components-compile.module.ts | 6 ++---- src/addons/mod/data/components/components.module.ts | 4 +--- .../mod/data/components/field-plugin/field-plugin.ts | 5 +++++ src/addons/mod/data/components/index/index.ts | 9 +++++++++ .../mod/data/components/search-modal/search-modal.ts | 2 +- src/addons/mod/data/data-lazy.module.ts | 2 -- .../mod/data/fields/checkbox/checkbox.module.ts | 4 +--- .../mod/data/fields/checkbox/component/checkbox.ts | 5 +++++ src/addons/mod/data/fields/date/component/date.ts | 5 +++++ src/addons/mod/data/fields/date/date.module.ts | 4 +--- src/addons/mod/data/fields/file/component/file.ts | 5 +++++ src/addons/mod/data/fields/file/file.module.ts | 4 +--- .../mod/data/fields/latlong/component/latlong.ts | 5 +++++ src/addons/mod/data/fields/latlong/latlong.module.ts | 4 +--- src/addons/mod/data/fields/menu/component/menu.ts | 5 +++++ src/addons/mod/data/fields/menu/menu.module.ts | 4 +--- .../mod/data/fields/multimenu/component/multimenu.ts | 5 +++++ .../mod/data/fields/multimenu/multimenu.module.ts | 4 +--- .../mod/data/fields/number/component/number.ts | 5 +++++ src/addons/mod/data/fields/number/number.module.ts | 4 +--- .../mod/data/fields/picture/component/picture.ts | 5 +++++ src/addons/mod/data/fields/picture/picture.module.ts | 4 +--- .../data/fields/radiobutton/component/radiobutton.ts | 5 +++++ .../data/fields/radiobutton/radiobutton.module.ts | 4 +--- src/addons/mod/data/fields/text/component/text.ts | 5 +++++ src/addons/mod/data/fields/text/text.module.ts | 4 +--- .../mod/data/fields/textarea/component/textarea.ts | 7 +++++++ .../mod/data/fields/textarea/textarea.module.ts | 4 +--- src/addons/mod/data/fields/url/component/url.ts | 5 +++++ src/addons/mod/data/fields/url/url.module.ts | 4 +--- src/addons/mod/data/pages/edit/edit.ts | 7 +++++++ src/addons/mod/data/pages/entry/entry.ts | 11 +++++++++++ src/addons/mod/data/pages/index/index.ts | 6 ++++++ .../mod/feedback/components/components.module.ts | 4 +--- src/addons/mod/feedback/components/index/index.ts | 7 +++++++ src/addons/mod/feedback/feedback-lazy.module.ts | 2 -- src/addons/mod/feedback/pages/attempt/attempt.ts | 5 +++++ src/addons/mod/feedback/pages/attempts/attempts.ts | 5 +++++ src/addons/mod/feedback/pages/form/form.ts | 5 +++++ src/addons/mod/feedback/pages/index/index.ts | 6 ++++++ .../feedback/pages/nonrespondents/nonrespondents.ts | 5 +++++ .../mod/folder/components/components.module.ts | 4 +--- src/addons/mod/folder/components/index/index.ts | 7 +++++++ src/addons/mod/folder/folder-lazy.module.ts | 2 -- src/addons/mod/folder/pages/index/index.ts | 6 ++++++ src/addons/mod/forum/components/components.module.ts | 6 ++---- src/addons/mod/forum/components/index/index.ts | 9 ++++++++- src/addons/mod/forum/components/post/post.ts | 11 +++++++++++ src/addons/mod/forum/forum-discussion-lazy.module.ts | 2 -- src/addons/mod/forum/forum-lazy.module.ts | 2 -- .../mod/forum/forum-new-discussion-lazy.module.ts | 2 -- src/addons/mod/forum/forum-search-lazy.module.ts | 2 -- src/addons/mod/forum/pages/discussion/discussion.ts | 7 +++++++ src/addons/mod/forum/pages/index/index.ts | 6 ++++++ .../mod/forum/pages/new-discussion/new-discussion.ts | 7 +++++++ src/addons/mod/forum/pages/search/search.ts | 7 +++++++ .../mod/glossary/components/components.module.ts | 4 +--- src/addons/mod/glossary/components/index/index.ts | 9 +++++++++ src/addons/mod/glossary/glossary-edit-lazy.module.ts | 4 +--- .../mod/glossary/glossary-entry-lazy.module.ts | 4 +--- src/addons/mod/glossary/glossary-lazy.module.ts | 2 -- src/addons/mod/glossary/pages/edit/edit.ts | 7 +++++++ src/addons/mod/glossary/pages/entry/entry.ts | 11 +++++++++++ src/addons/mod/glossary/pages/index/index.ts | 6 ++++++ .../mod/h5pactivity/components/components.module.ts | 4 +--- src/addons/mod/h5pactivity/components/index/index.ts | 10 +++++++++- .../mod/h5pactivity/h5pactivity-lazy.module.ts | 2 -- .../pages/attempt-results/attempt-results.ts | 5 +++++ src/addons/mod/h5pactivity/pages/index/index.ts | 6 ++++++ .../h5pactivity/pages/user-attempts/user-attempts.ts | 5 +++++ .../pages/users-attempts/users-attempts.ts | 5 +++++ src/addons/mod/imscp/components/components.module.ts | 4 +--- src/addons/mod/imscp/components/index/index.ts | 7 +++++++ src/addons/mod/imscp/imscp-lazy.module.ts | 2 -- src/addons/mod/imscp/pages/index/index.ts | 6 ++++++ src/addons/mod/imscp/pages/view/view.ts | 5 +++++ .../mod/lesson/components/components.module.ts | 4 +--- src/addons/mod/lesson/components/index/index.ts | 7 +++++++ src/addons/mod/lesson/lesson-lazy.module.ts | 2 -- src/addons/mod/lesson/pages/index/index.ts | 6 ++++++ src/addons/mod/lesson/pages/player/player.ts | 8 +++++++- .../mod/lesson/pages/user-retake/user-retake.ts | 5 +++++ src/addons/mod/lti/components/components.module.ts | 4 +--- src/addons/mod/lti/components/index/index.ts | 8 +++++++- src/addons/mod/lti/lti-lazy.module.ts | 2 -- src/addons/mod/lti/pages/index/index.ts | 6 ++++++ src/addons/mod/page/components/components.module.ts | 4 +--- src/addons/mod/page/components/index/index.ts | 7 +++++++ src/addons/mod/page/page-lazy.module.ts | 2 -- src/addons/mod/page/pages/index/index.ts | 6 ++++++ .../offlineattempts/component/offlineattempts.ts | 5 +++++ .../offlineattempts/offlineattempts.module.ts | 4 +--- .../quiz/accessrules/password/component/password.ts | 5 +++++ .../mod/quiz/accessrules/password/password.module.ts | 4 +--- .../accessrules/timelimit/component/timelimit.ts | 5 +++++ .../quiz/accessrules/timelimit/timelimit.module.ts | 4 +--- .../mod/quiz/components/attempt-info/attempt-info.ts | 7 +++++++ .../quiz/components/attempt-state/attempt-state.ts | 5 +++++ src/addons/mod/quiz/components/components.module.ts | 9 +++------ src/addons/mod/quiz/components/index/index.ts | 11 +++++++++++ .../quiz/components/question-card/question-card.ts | 5 +++++ src/addons/mod/quiz/pages/index/index.ts | 6 ++++++ src/addons/mod/quiz/pages/player/player.ts | 9 +++++++++ src/addons/mod/quiz/pages/review/review.ts | 11 +++++++++++ src/addons/mod/quiz/quiz-lazy.module.ts | 2 -- .../mod/resource/components/components.module.ts | 4 +--- src/addons/mod/resource/components/index/index.ts | 7 +++++++ src/addons/mod/resource/pages/index/index.ts | 6 ++++++ src/addons/mod/resource/resource-lazy.module.ts | 2 -- src/addons/mod/scorm/components/components.module.ts | 4 +--- src/addons/mod/scorm/components/index/index.ts | 7 +++++++ src/addons/mod/scorm/pages/index/index.ts | 6 ++++++ src/addons/mod/scorm/pages/player/player.ts | 5 +++++ src/addons/mod/scorm/scorm-lazy.module.ts | 2 -- .../mod/survey/components/components.module.ts | 4 +--- src/addons/mod/survey/components/index/index.ts | 7 +++++++ src/addons/mod/survey/pages/index/index.ts | 6 ++++++ src/addons/mod/survey/survey-lazy.module.ts | 2 -- src/addons/mod/url/components/components.module.ts | 4 +--- src/addons/mod/url/components/index/index.ts | 7 +++++++ src/addons/mod/url/pages/index/index.ts | 6 ++++++ src/addons/mod/url/url-lazy.module.ts | 2 -- src/addons/mod/wiki/components/components.module.ts | 4 +--- src/addons/mod/wiki/components/index/index.ts | 9 +++++++++ src/addons/mod/wiki/pages/edit/edit.ts | 7 +++++++ src/addons/mod/wiki/pages/index/index.ts | 6 ++++++ src/addons/mod/wiki/wiki-lazy.module.ts | 2 -- .../accumulative/component/accumulative.ts | 5 +++++ .../assessment/assesment-components.module.ts | 2 -- .../assessment/comments/component/comments.ts | 5 +++++ .../assessment/numerrors/component/numerrors.ts | 5 +++++ .../workshop/assessment/rubric/component/rubric.ts | 5 +++++ .../assessment-strategy/assessment-strategy.ts | 7 +++++++ .../mod/workshop/components/assessment/assessment.ts | 5 +++++ .../mod/workshop/components/components.module.ts | 10 ++++------ src/addons/mod/workshop/components/index/index.ts | 9 +++++++++ .../mod/workshop/components/submission/submission.ts | 5 +++++ .../mod/workshop/pages/assessment/assessment.ts | 9 +++++++++ .../pages/edit-submission/edit-submission.ts | 7 +++++++ src/addons/mod/workshop/pages/index/index.ts | 6 ++++++ .../mod/workshop/pages/submission/submission.ts | 12 ++++++++++++ src/addons/mod/workshop/workshop-lazy.module.ts | 2 -- src/addons/notes/notes-lazy.module.ts | 2 -- src/addons/notes/pages/list/list.ts | 5 +++++ .../notifications/notifications-lazy.module.ts | 2 -- .../notifications-settings-lazy.module.ts | 2 -- src/addons/notifications/pages/list/list.ts | 7 +++++++ .../notifications/pages/notification/notification.ts | 5 +++++ src/addons/notifications/pages/settings/settings.ts | 5 +++++ src/addons/privatefiles/pages/index/index.ts | 6 ++++++ src/addons/privatefiles/privatefiles-lazy.module.ts | 2 -- .../qbehaviour/deferredcbm/component/deferredcbm.ts | 5 +++++ .../qbehaviour/deferredcbm/deferredcbm.module.ts | 4 +--- .../informationitem/component/informationitem.ts | 5 +++++ .../informationitem/informationitem.module.ts | 4 +--- .../qtype/ddimageortext/component/ddimageortext.ts | 5 +++++ .../qtype/ddimageortext/ddimageortext.module.ts | 4 +--- src/addons/qtype/ddmarker/component/ddmarker.ts | 5 +++++ src/addons/qtype/ddmarker/ddmarker.module.ts | 4 +--- src/addons/qtype/ddwtos/component/ddwtos.ts | 5 +++++ src/addons/qtype/ddwtos/ddwtos.module.ts | 4 +--- .../qtype/description/component/description.ts | 5 +++++ src/addons/qtype/description/description.module.ts | 4 +--- src/addons/qtype/essay/component/essay.ts | 8 ++++++++ src/addons/qtype/essay/essay.module.ts | 4 +--- src/addons/qtype/gapselect/component/gapselect.ts | 5 +++++ src/addons/qtype/gapselect/gapselect.module.ts | 4 +--- src/addons/qtype/match/component/match.ts | 5 +++++ src/addons/qtype/match/match.module.ts | 4 +--- .../qtype/multianswer/component/multianswer.ts | 5 +++++ src/addons/qtype/multianswer/multianswer.module.ts | 4 +--- .../qtype/multichoice/component/multichoice.ts | 5 +++++ src/addons/qtype/multichoice/multichoice.module.ts | 4 +--- src/addons/qtype/numerical/component/numerical.ts | 5 +++++ src/addons/qtype/numerical/numerical.module.ts | 4 +--- src/addons/qtype/ordering/component/ordering.ts | 5 +++++ src/addons/qtype/ordering/ordering.module.ts | 4 +--- .../qtype/shortanswer/component/shortanswer.ts | 5 +++++ src/addons/qtype/shortanswer/shortanswer.module.ts | 4 +--- .../pages/course-storage/course-storage.ts | 5 +++++ .../pages/courses-storage/courses-storage.ts | 5 +++++ .../storagemanager/storagemanager-lazy.module.ts | 2 -- .../userprofilefield/checkbox/checkbox.module.ts | 4 +--- .../userprofilefield/checkbox/component/checkbox.ts | 5 +++++ .../userprofilefield/datetime/component/datetime.ts | 5 +++++ .../userprofilefield/datetime/datetime.module.ts | 4 +--- src/addons/userprofilefield/menu/component/menu.ts | 5 +++++ src/addons/userprofilefield/menu/menu.module.ts | 4 +--- .../userprofilefield/social/component/social.ts | 5 +++++ src/addons/userprofilefield/social/social.module.ts | 4 +--- src/addons/userprofilefield/text/component/text.ts | 5 +++++ src/addons/userprofilefield/text/text.module.ts | 4 +--- .../userprofilefield/textarea/component/textarea.ts | 7 +++++++ .../userprofilefield/textarea/textarea.module.ts | 4 +--- 272 files changed, 1071 insertions(+), 304 deletions(-) diff --git a/src/addons/badges/badgeclass-lazy.module.ts b/src/addons/badges/badgeclass-lazy.module.ts index 51a2e38f250..ffc6191a4c2 100644 --- a/src/addons/badges/badgeclass-lazy.module.ts +++ b/src/addons/badges/badgeclass-lazy.module.ts @@ -28,8 +28,6 @@ const routes: Routes = [ imports: [ RouterModule.forChild(routes), CoreSharedModule, - ], - declarations: [ AddonBadgesBadgeClassPage, ], }) diff --git a/src/addons/badges/badges-lazy.module.ts b/src/addons/badges/badges-lazy.module.ts index e2b44df54a2..8a53390226e 100644 --- a/src/addons/badges/badges-lazy.module.ts +++ b/src/addons/badges/badges-lazy.module.ts @@ -58,8 +58,6 @@ const routes: Routes = [ imports: [ RouterModule.forChild(routes), CoreSharedModule, - ], - declarations: [ AddonBadgesUserBadgesPage, ], }) diff --git a/src/addons/badges/pages/badge-class/badge-class.ts b/src/addons/badges/pages/badge-class/badge-class.ts index fe7f3ce2f70..eb3f0b0afa6 100644 --- a/src/addons/badges/pages/badge-class/badge-class.ts +++ b/src/addons/badges/pages/badge-class/badge-class.ts @@ -20,6 +20,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreTime } from '@singletons/time'; import { AddonBadges, AddonBadgesBadgeClass } from '../../services/badges'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a badge class. @@ -27,6 +28,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-badges-badge-class', templateUrl: 'badge-class.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonBadgesBadgeClassPage implements OnInit { diff --git a/src/addons/badges/pages/user-badges/user-badges.ts b/src/addons/badges/pages/user-badges/user-badges.ts index d44eb46ad8d..6c78e6f10a3 100644 --- a/src/addons/badges/pages/user-badges/user-badges.ts +++ b/src/addons/badges/pages/user-badges/user-badges.ts @@ -26,6 +26,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreTime } from '@singletons/time'; import { Translate } from '@singletons'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of calendar events. @@ -33,6 +34,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-badges-user-badges', templateUrl: 'user-badges.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonBadgesUserBadgesPage implements AfterViewInit, OnDestroy { diff --git a/src/addons/blog/blog-lazy.module.ts b/src/addons/blog/blog-lazy.module.ts index ad4059eb633..fc0114f4eea 100644 --- a/src/addons/blog/blog-lazy.module.ts +++ b/src/addons/blog/blog-lazy.module.ts @@ -58,8 +58,6 @@ import { canLeaveGuard } from '@guards/can-leave'; CoreCommentsComponentsModule, CoreTagComponentsModule, CoreMainMenuComponentsModule, - ], - declarations: [ AddonBlogIndexPage, ], providers: [ diff --git a/src/addons/blog/pages/index/index.ts b/src/addons/blog/pages/index/index.ts index 525b54dea96..4611df6bbb2 100644 --- a/src/addons/blog/pages/index/index.ts +++ b/src/addons/blog/pages/index/index.ts @@ -44,6 +44,10 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { Subscription } from 'rxjs'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; +import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of blog entries. @@ -52,6 +56,13 @@ import { Translate } from '@singletons'; selector: 'page-addon-blog-index', templateUrl: 'index.html', styleUrl: './index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuComponentsModule, + CoreTagComponentsModule, + CoreCommentsComponentsModule, + ], }) export class AddonBlogIndexPage implements OnInit, OnDestroy { diff --git a/src/addons/calendar/calendar-lazy.module.ts b/src/addons/calendar/calendar-lazy.module.ts index c8dd05fe10c..2d36ee8b46b 100644 --- a/src/addons/calendar/calendar-lazy.module.ts +++ b/src/addons/calendar/calendar-lazy.module.ts @@ -71,8 +71,6 @@ function buildRoutes(injector: Injector): Routes { AddonCalendarComponentsModule, CoreMainMenuComponentsModule, CoreEditorComponentsModule, - ], - declarations: [ AddonCalendarDayPage, AddonCalendarEditEventPage, AddonCalendarEventPage, diff --git a/src/addons/calendar/components/calendar/calendar.ts b/src/addons/calendar/components/calendar/calendar.ts index a57be8685e6..bdc970c313d 100644 --- a/src/addons/calendar/components/calendar/calendar.ts +++ b/src/addons/calendar/components/calendar/calendar.ts @@ -54,6 +54,7 @@ import { Translate } from '@singletons'; import { toBoolean } from '@/core/transforms/boolean'; import { ADDON_CALENDAR_UNDELETED_EVENT_EVENT } from '@addons/calendar/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a calendar. @@ -62,6 +63,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-calendar-calendar', templateUrl: 'addon-calendar-calendar.html', styleUrl: 'calendar.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCalendarCalendarComponent implements OnInit, DoCheck, OnDestroy { diff --git a/src/addons/calendar/components/components.module.ts b/src/addons/calendar/components/components.module.ts index aa476bee766..4c3d16d8968 100644 --- a/src/addons/calendar/components/components.module.ts +++ b/src/addons/calendar/components/components.module.ts @@ -20,12 +20,10 @@ import { AddonCalendarCalendarComponent } from './calendar/calendar'; import { AddonCalendarUpcomingEventsComponent } from './upcoming-events/upcoming-events'; @NgModule({ - declarations: [ - AddonCalendarCalendarComponent, - AddonCalendarUpcomingEventsComponent, - ], imports: [ CoreSharedModule, + AddonCalendarCalendarComponent, + AddonCalendarUpcomingEventsComponent, ], exports: [ AddonCalendarCalendarComponent, diff --git a/src/addons/calendar/components/upcoming-events/upcoming-events.ts b/src/addons/calendar/components/upcoming-events/upcoming-events.ts index eeea2122bb9..9a754deef4e 100644 --- a/src/addons/calendar/components/upcoming-events/upcoming-events.ts +++ b/src/addons/calendar/components/upcoming-events/upcoming-events.ts @@ -29,6 +29,7 @@ import { CoreTime } from '@singletons/time'; import { Translate } from '@singletons'; import { ADDON_CALENDAR_UNDELETED_EVENT_EVENT } from '@addons/calendar/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays upcoming events. @@ -37,6 +38,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-calendar-upcoming-events', templateUrl: 'addon-calendar-upcoming-events.html', styleUrl: '../../calendar-common.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCalendarUpcomingEventsComponent implements OnInit, DoCheck, OnDestroy { diff --git a/src/addons/calendar/pages/day/day.ts b/src/addons/calendar/pages/day/day.ts index ea254d7e9a5..92311921633 100644 --- a/src/addons/calendar/pages/day/day.ts +++ b/src/addons/calendar/pages/day/day.ts @@ -59,6 +59,7 @@ import { } from '@addons/calendar/constants'; import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the calendar events for a certain day. @@ -67,6 +68,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-calendar-day', templateUrl: 'day.html', styleUrls: ['../../calendar-common.scss', 'day.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCalendarDayPage implements OnInit, OnDestroy { diff --git a/src/addons/calendar/pages/edit-event/edit-event.ts b/src/addons/calendar/pages/edit-event/edit-event.ts index f1a5d3bbb13..5d9707379ac 100644 --- a/src/addons/calendar/pages/edit-event/edit-event.ts +++ b/src/addons/calendar/pages/edit-event/edit-event.ts @@ -54,6 +54,8 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { REMINDERS_DISABLED, CoreRemindersUnits } from '@features/reminders/constants'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a form to create/edit an event. @@ -62,6 +64,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-calendar-edit-event', templateUrl: 'edit-event.html', styleUrl: 'edit-event.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonCalendarEditEventPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/calendar/pages/event/event.ts b/src/addons/calendar/pages/event/event.ts index 64525cce0c1..82524c5b9a0 100644 --- a/src/addons/calendar/pages/event/event.ts +++ b/src/addons/calendar/pages/event/event.ts @@ -54,6 +54,7 @@ import { } from '@addons/calendar/constants'; import { REMINDERS_DEFAULT_NOTIFICATION_TIME_CHANGED } from '@features/reminders/constants'; import { CoreAlerts, CoreAlertsConfirmOptions } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a single calendar event. @@ -62,6 +63,10 @@ import { CoreAlerts, CoreAlertsConfirmOptions } from '@services/overlays/alerts' selector: 'page-addon-calendar-event', templateUrl: 'event.html', styleUrls: ['../../calendar-common.scss', 'event.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCalendarEventPage implements OnInit, OnDestroy { diff --git a/src/addons/calendar/pages/index/index.ts b/src/addons/calendar/pages/index/index.ts index 9a92d774fdc..babadb4bf97 100644 --- a/src/addons/calendar/pages/index/index.ts +++ b/src/addons/calendar/pages/index/index.ts @@ -41,6 +41,8 @@ import { ADDON_CALENDAR_UNDELETED_EVENT_EVENT, } from '@addons/calendar/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the calendar events. @@ -48,6 +50,13 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-calendar-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuComponentsModule, + AddonCalendarCalendarComponent, + AddonCalendarUpcomingEventsComponent, + ], }) export class AddonCalendarIndexPage implements OnInit, OnDestroy { diff --git a/src/addons/calendar/pages/settings/settings.ts b/src/addons/calendar/pages/settings/settings.ts index b7651acf573..cf495ed720a 100644 --- a/src/addons/calendar/pages/settings/settings.ts +++ b/src/addons/calendar/pages/settings/settings.ts @@ -19,6 +19,7 @@ import { CoreRemindersService, } from '@features/reminders/services/reminders'; import { REMINDERS_DISABLED } from '@features/reminders/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the calendar settings. @@ -26,6 +27,10 @@ import { REMINDERS_DISABLED } from '@features/reminders/constants'; @Component({ selector: 'page-addon-calendar-settings', templateUrl: 'settings.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCalendarSettingsPage implements OnInit { diff --git a/src/addons/competency/competency-learning-plans-lazy.module.ts b/src/addons/competency/competency-learning-plans-lazy.module.ts index dbdcb244c9d..e6efc55637b 100644 --- a/src/addons/competency/competency-learning-plans-lazy.module.ts +++ b/src/addons/competency/competency-learning-plans-lazy.module.ts @@ -83,8 +83,6 @@ const routes: Routes = [ AddonCompetencyCompetenciesPageModule, AddonCompetencyCompetencyPageModule, AddonCompetencyCompetencySummaryPageModule, - ], - declarations: [ AddonCompetencyPlanPage, AddonCompetencyPlanListPage, ], diff --git a/src/addons/competency/pages/competencies/competencies.module.ts b/src/addons/competency/pages/competencies/competencies.module.ts index 107a73c216f..83cdb4f4a56 100644 --- a/src/addons/competency/pages/competencies/competencies.module.ts +++ b/src/addons/competency/pages/competencies/competencies.module.ts @@ -20,8 +20,6 @@ import { AddonCompetencyCompetenciesPage } from './competencies.page'; @NgModule({ imports: [ CoreSharedModule, - ], - declarations: [ AddonCompetencyCompetenciesPage, ], }) diff --git a/src/addons/competency/pages/competencies/competencies.page.ts b/src/addons/competency/pages/competencies/competencies.page.ts index a2617f031c4..99aa51ad27e 100644 --- a/src/addons/competency/pages/competencies/competencies.page.ts +++ b/src/addons/competency/pages/competencies/competencies.page.ts @@ -30,6 +30,7 @@ import { CoreSites } from '@services/sites'; import { CoreTime } from '@singletons/time'; import { ContextLevel } from '@/core/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of competencies of a learning plan. @@ -37,6 +38,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-competency-competencies', templateUrl: 'competencies.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCompetencyCompetenciesPage implements AfterViewInit, OnDestroy { diff --git a/src/addons/competency/pages/competency/competency.module.ts b/src/addons/competency/pages/competency/competency.module.ts index 3b09be305db..acfaaafbd83 100644 --- a/src/addons/competency/pages/competency/competency.module.ts +++ b/src/addons/competency/pages/competency/competency.module.ts @@ -20,8 +20,6 @@ import { AddonCompetencyCompetencyPage } from './competency.page'; @NgModule({ imports: [ CoreSharedModule, - ], - declarations: [ AddonCompetencyCompetencyPage, ], }) diff --git a/src/addons/competency/pages/competency/competency.page.ts b/src/addons/competency/pages/competency/competency.page.ts index fb91515ee09..8eff747ec20 100644 --- a/src/addons/competency/pages/competency/competency.page.ts +++ b/src/addons/competency/pages/competency/competency.page.ts @@ -41,6 +41,7 @@ import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreUrl } from '@singletons/url'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the competency information. @@ -48,6 +49,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-competency-competency', templateUrl: 'competency.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCompetencyCompetencyPage implements OnInit, OnDestroy { diff --git a/src/addons/competency/pages/competencysummary/competencysummary.module.ts b/src/addons/competency/pages/competencysummary/competencysummary.module.ts index d09a75ec02d..bdab9baec0b 100644 --- a/src/addons/competency/pages/competencysummary/competencysummary.module.ts +++ b/src/addons/competency/pages/competencysummary/competencysummary.module.ts @@ -20,8 +20,6 @@ import { AddonCompetencyCompetencySummaryPage } from './competencysummary.page'; @NgModule({ imports: [ CoreSharedModule, - ], - declarations: [ AddonCompetencyCompetencySummaryPage, ], }) diff --git a/src/addons/competency/pages/competencysummary/competencysummary.page.ts b/src/addons/competency/pages/competencysummary/competencysummary.page.ts index 39602f14f60..bf2484ae007 100644 --- a/src/addons/competency/pages/competencysummary/competencysummary.page.ts +++ b/src/addons/competency/pages/competencysummary/competencysummary.page.ts @@ -21,6 +21,7 @@ import { ADDON_COMPETENCY_SUMMARY_PAGE } from '@addons/competency/constants'; import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the competency summary. @@ -28,6 +29,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-competency-competency-summary', templateUrl: 'competencysummary.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCompetencyCompetencySummaryPage implements OnInit { diff --git a/src/addons/competency/pages/coursecompetencies/coursecompetencies.module.ts b/src/addons/competency/pages/coursecompetencies/coursecompetencies.module.ts index e4101d0e790..77b380d6230 100644 --- a/src/addons/competency/pages/coursecompetencies/coursecompetencies.module.ts +++ b/src/addons/competency/pages/coursecompetencies/coursecompetencies.module.ts @@ -20,8 +20,6 @@ import { AddonCompetencyCourseCompetenciesPage } from './coursecompetencies.page @NgModule({ imports: [ CoreSharedModule, - ], - declarations: [ AddonCompetencyCourseCompetenciesPage, ], }) diff --git a/src/addons/competency/pages/coursecompetencies/coursecompetencies.page.ts b/src/addons/competency/pages/coursecompetencies/coursecompetencies.page.ts index 9e6b15d1eee..8d61a0c0409 100644 --- a/src/addons/competency/pages/coursecompetencies/coursecompetencies.page.ts +++ b/src/addons/competency/pages/coursecompetencies/coursecompetencies.page.ts @@ -29,6 +29,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreSites } from '@services/sites'; import { Translate } from '@singletons'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of competencies of a course. @@ -36,6 +37,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-competency-coursecompetencies', templateUrl: 'coursecompetencies.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCompetencyCourseCompetenciesPage implements OnInit, OnDestroy { diff --git a/src/addons/competency/pages/plan/plan.ts b/src/addons/competency/pages/plan/plan.ts index 7c06548c2ba..69b767d083d 100644 --- a/src/addons/competency/pages/plan/plan.ts +++ b/src/addons/competency/pages/plan/plan.ts @@ -24,6 +24,7 @@ import { AddonCompetencyPlanCompetenciesSource } from '@addons/competency/classe import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreTime } from '@singletons/time'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a learning plan. @@ -31,6 +32,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-competency-plan', templateUrl: 'plan.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCompetencyPlanPage implements OnInit, OnDestroy { diff --git a/src/addons/competency/pages/planlist/planlist.ts b/src/addons/competency/pages/planlist/planlist.ts index 25bb5654996..0bf23583d65 100644 --- a/src/addons/competency/pages/planlist/planlist.ts +++ b/src/addons/competency/pages/planlist/planlist.ts @@ -23,6 +23,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreSites } from '@services/sites'; import { Translate } from '@singletons'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of learning plans. @@ -30,6 +31,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-competency-planlist', templateUrl: 'planlist.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCompetencyPlanListPage implements AfterViewInit, OnDestroy { diff --git a/src/addons/coursecompletion/coursecompletion-lazy.module.ts b/src/addons/coursecompletion/coursecompletion-lazy.module.ts index 766ec57acf9..29e8bea35c0 100644 --- a/src/addons/coursecompletion/coursecompletion-lazy.module.ts +++ b/src/addons/coursecompletion/coursecompletion-lazy.module.ts @@ -32,8 +32,6 @@ const routes: Routes = [ CoreSharedModule, CoreCommentsComponentsModule, CoreTagComponentsModule, - ], - declarations: [ AddonCourseCompletionReportPage, ], }) diff --git a/src/addons/coursecompletion/pages/report/report.ts b/src/addons/coursecompletion/pages/report/report.ts index 87c89d63338..2d8df1cd95b 100644 --- a/src/addons/coursecompletion/pages/report/report.ts +++ b/src/addons/coursecompletion/pages/report/report.ts @@ -25,6 +25,7 @@ import { CoreSites } from '@services/sites'; import { Translate } from '@singletons'; import { CoreTime } from '@singletons/time'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the course completion report. @@ -32,6 +33,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-course-completion-report', templateUrl: 'report.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonCourseCompletionReportPage implements OnInit { diff --git a/src/addons/messageoutput/airnotifier/airnotifier.module.ts b/src/addons/messageoutput/airnotifier/airnotifier.module.ts index a02f32d533d..656db8d08e9 100644 --- a/src/addons/messageoutput/airnotifier/airnotifier.module.ts +++ b/src/addons/messageoutput/airnotifier/airnotifier.module.ts @@ -33,12 +33,10 @@ const routes: Routes = [ ]; @NgModule({ - declarations: [ - AddonMessageOutputAirnotifierDevicesPage, - ], imports: [ CoreSharedModule, CoreMainMenuTabRoutingModule.forChild(routes), + AddonMessageOutputAirnotifierDevicesPage, ], providers: [ { diff --git a/src/addons/messageoutput/airnotifier/pages/devices/devices.ts b/src/addons/messageoutput/airnotifier/pages/devices/devices.ts index 132209a320e..d9dd4d5967b 100644 --- a/src/addons/messageoutput/airnotifier/pages/devices/devices.ts +++ b/src/addons/messageoutput/airnotifier/pages/devices/devices.ts @@ -17,6 +17,7 @@ import { CorePushNotifications } from '@features/pushnotifications/services/push import { AddonMessageOutputAirnotifier, AddonMessageOutputAirnotifierDevice } from '../../services/airnotifier'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of devices. @@ -24,6 +25,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-message-output-airnotifier-devices', templateUrl: 'devices.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonMessageOutputAirnotifierDevicesPage implements OnInit, OnDestroy { diff --git a/src/addons/messages/messages-lazy.module.ts b/src/addons/messages/messages-lazy.module.ts index 823036f53f7..201b6ac77e8 100644 --- a/src/addons/messages/messages-lazy.module.ts +++ b/src/addons/messages/messages-lazy.module.ts @@ -128,8 +128,6 @@ function buildRoutes(injector: Injector): Routes { CoreSharedModule, CoreSearchComponentsModule, CoreMainMenuComponentsModule, - ], - declarations: [ AddonMessagesContactsPage, AddonMessagesDiscussionPage, AddonMessagesGroupConversationsPage, diff --git a/src/addons/messages/pages/contacts/contacts.ts b/src/addons/messages/pages/contacts/contacts.ts index ed235d6fd1e..5c7cc6de8b9 100644 --- a/src/addons/messages/pages/contacts/contacts.ts +++ b/src/addons/messages/pages/contacts/contacts.ts @@ -25,6 +25,7 @@ import { CoreSplitViewComponent } from '@components/split-view/split-view'; import { ADDON_MESSAGES_CONTACT_REQUESTS_COUNT_EVENT, ADDON_MESSAGES_MEMBER_INFO_CHANGED_EVENT } from '@addons/messages/constants'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays contacts and contact requests. @@ -33,6 +34,10 @@ import { Translate } from '@singletons'; selector: 'page-addon-messages-contacts', templateUrl: 'contacts.html', styleUrl: '../../messages-common.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonMessagesContactsPage implements OnInit, OnDestroy { diff --git a/src/addons/messages/pages/discussion/discussion.ts b/src/addons/messages/pages/discussion/discussion.ts index efa1ea76da8..0f9f8ce6806 100644 --- a/src/addons/messages/pages/discussion/discussion.ts +++ b/src/addons/messages/pages/discussion/discussion.ts @@ -57,6 +57,7 @@ import { AddonMessagesUpdateConversationAction, } from '@addons/messages/constants'; import { CoreAlerts, CoreAlertsConfirmOptions } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a message discussion page. @@ -65,6 +66,10 @@ import { CoreAlerts, CoreAlertsConfirmOptions } from '@services/overlays/alerts' selector: 'page-addon-messages-discussion', templateUrl: 'discussion.html', styleUrls: ['../../../../theme/components/discussion.scss', 'discussion.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonMessagesDiscussionPage implements OnInit, OnDestroy, AfterViewInit { diff --git a/src/addons/messages/pages/group-conversations/group-conversations.ts b/src/addons/messages/pages/group-conversations/group-conversations.ts index c928635937e..d648fbdb777 100644 --- a/src/addons/messages/pages/group-conversations/group-conversations.ts +++ b/src/addons/messages/pages/group-conversations/group-conversations.ts @@ -49,6 +49,8 @@ import { AddonMessagesUpdateConversationAction, } from '@addons/messages/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; const enum AddonMessagesGroupConversationOptionNames { FAVOURITES = 'favourites', @@ -63,6 +65,11 @@ const enum AddonMessagesGroupConversationOptionNames { selector: 'page-addon-messages-group-conversations', templateUrl: 'group-conversations.html', styleUrl: '../../messages-common.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuComponentsModule, + ], }) export class AddonMessagesGroupConversationsPage implements OnInit, OnDestroy { diff --git a/src/addons/messages/pages/search/search.ts b/src/addons/messages/pages/search/search.ts index 506bcca6fec..ac0d398cd26 100644 --- a/src/addons/messages/pages/search/search.ts +++ b/src/addons/messages/pages/search/search.ts @@ -31,6 +31,8 @@ import { } from '@addons/messages/constants'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSearchComponentsModule } from '@features/search/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page for searching users. @@ -38,6 +40,11 @@ import { Translate } from '@singletons'; @Component({ selector: 'page-addon-messages-search', templateUrl: 'search.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreSearchComponentsModule, + ], }) export class AddonMessagesSearchPage implements OnDestroy { diff --git a/src/addons/mod/assign/assign-lazy.module.ts b/src/addons/mod/assign/assign-lazy.module.ts index de02be0c6f1..5069df28d47 100644 --- a/src/addons/mod/assign/assign-lazy.module.ts +++ b/src/addons/mod/assign/assign-lazy.module.ts @@ -74,8 +74,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModAssignComponentsModule, - ], - declarations: [ AddonModAssignIndexPage, AddonModAssignSubmissionListPage, AddonModAssignSubmissionReviewPage, diff --git a/src/addons/mod/assign/components/components.module.ts b/src/addons/mod/assign/components/components.module.ts index 8910da8fb4f..b310030faaa 100644 --- a/src/addons/mod/assign/components/components.module.ts +++ b/src/addons/mod/assign/components/components.module.ts @@ -22,16 +22,14 @@ import { AddonModAssignSubmissionPluginComponent } from './submission-plugin/sub import { AddonModAssignFeedbackPluginComponent } from './feedback-plugin/feedback-plugin'; @NgModule({ - declarations: [ + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, AddonModAssignIndexComponent, AddonModAssignSubmissionComponent, AddonModAssignSubmissionPluginComponent, AddonModAssignFeedbackPluginComponent, ], - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - ], exports: [ AddonModAssignIndexComponent, AddonModAssignSubmissionComponent, diff --git a/src/addons/mod/assign/components/feedback-plugin/feedback-plugin.ts b/src/addons/mod/assign/components/feedback-plugin/feedback-plugin.ts index 0d3fd81a5bf..96871b3dd25 100644 --- a/src/addons/mod/assign/components/feedback-plugin/feedback-plugin.ts +++ b/src/addons/mod/assign/components/feedback-plugin/feedback-plugin.ts @@ -26,6 +26,7 @@ import { AddonModAssignHelper, AddonModAssignPluginConfig } from '../../services import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate'; import { ADDON_MOD_ASSIGN_COMPONENT } from '../../constants'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays an assignment feedback plugin. @@ -33,6 +34,10 @@ import { toBoolean } from '@/core/transforms/boolean'; @Component({ selector: 'addon-mod-assign-feedback-plugin', templateUrl: 'addon-mod-assign-feedback-plugin.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModAssignFeedbackPluginComponent implements OnInit { diff --git a/src/addons/mod/assign/components/index/index.ts b/src/addons/mod/assign/components/index/index.ts index 9e84836ddbe..102cab6cfb1 100644 --- a/src/addons/mod/assign/components/index/index.ts +++ b/src/addons/mod/assign/components/index/index.ts @@ -53,6 +53,8 @@ import { ADDON_MOD_ASSIGN_WARN_GROUPS_REQUIRED, } from '../../constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays an assignment. @@ -60,6 +62,12 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'addon-mod-assign-index', templateUrl: 'addon-mod-assign-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + AddonModAssignSubmissionComponent, + ], }) export class AddonModAssignIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/assign/components/submission-plugin/submission-plugin.ts b/src/addons/mod/assign/components/submission-plugin/submission-plugin.ts index ec81bb45391..b08a5b319e4 100644 --- a/src/addons/mod/assign/components/submission-plugin/submission-plugin.ts +++ b/src/addons/mod/assign/components/submission-plugin/submission-plugin.ts @@ -26,6 +26,7 @@ import { CoreFileEntry } from '@services/file-helper'; import type { AddonModAssignSubmissionPluginBaseComponent } from '@addons/mod/assign/classes/base-submission-plugin-component'; import { ADDON_MOD_ASSIGN_COMPONENT } from '../../constants'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays an assignment submission plugin. @@ -33,6 +34,10 @@ import { toBoolean } from '@/core/transforms/boolean'; @Component({ selector: 'addon-mod-assign-submission-plugin', templateUrl: 'addon-mod-assign-submission-plugin.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModAssignSubmissionPluginComponent implements OnChanges { diff --git a/src/addons/mod/assign/components/submission/submission.ts b/src/addons/mod/assign/components/submission/submission.ts index d0d7c9a96b4..fffe9a114ba 100644 --- a/src/addons/mod/assign/components/submission/submission.ts +++ b/src/addons/mod/assign/components/submission/submission.ts @@ -71,6 +71,9 @@ import { CoreViewer } from '@features/viewer/services/viewer'; import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { AddonModAssignFeedbackPluginComponent } from '../feedback-plugin/feedback-plugin'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays an assignment submission. @@ -79,6 +82,13 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-assign-submission', templateUrl: 'addon-mod-assign-submission.html', styleUrl: 'submission.scss', + standalone: true, + imports: [ + CoreSharedModule, + AddonModAssignSubmissionPluginComponent, + CoreCourseComponentsModule, + AddonModAssignFeedbackPluginComponent, + ], }) export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/assign/feedback/comments/comments.module.ts b/src/addons/mod/assign/feedback/comments/comments.module.ts index d1be02007a0..369facaebfc 100644 --- a/src/addons/mod/assign/feedback/comments/comments.module.ts +++ b/src/addons/mod/assign/feedback/comments/comments.module.ts @@ -20,12 +20,10 @@ import { CoreEditorComponentsModule } from '@features/editor/components/componen import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate'; @NgModule({ - declarations: [ - AddonModAssignFeedbackCommentsComponent, - ], imports: [ CoreSharedModule, CoreEditorComponentsModule, + AddonModAssignFeedbackCommentsComponent, ], providers: [ { diff --git a/src/addons/mod/assign/feedback/comments/component/comments.ts b/src/addons/mod/assign/feedback/comments/component/comments.ts index 686166d7a14..43beedeba4a 100644 --- a/src/addons/mod/assign/feedback/comments/component/comments.ts +++ b/src/addons/mod/assign/feedback/comments/component/comments.ts @@ -28,6 +28,8 @@ import { AddonModAssignFeedbackPluginBaseComponent } from '@addons/mod/assign/cl import { ContextLevel } from '@/core/constants'; import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants'; import { CoreViewer } from '@features/viewer/services/viewer'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a comments feedback plugin. @@ -35,6 +37,11 @@ import { CoreViewer } from '@features/viewer/services/viewer'; @Component({ selector: 'addon-mod-assign-feedback-comments', templateUrl: 'addon-mod-assign-feedback-comments.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModAssignFeedbackCommentsComponent extends AddonModAssignFeedbackPluginBaseComponent implements OnInit { diff --git a/src/addons/mod/assign/feedback/editpdf/component/editpdf.ts b/src/addons/mod/assign/feedback/editpdf/component/editpdf.ts index 6278dcb28a2..8cbb6f3304e 100644 --- a/src/addons/mod/assign/feedback/editpdf/component/editpdf.ts +++ b/src/addons/mod/assign/feedback/editpdf/component/editpdf.ts @@ -17,6 +17,7 @@ import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants'; import { AddonModAssign } from '@addons/mod/assign/services/assign'; import { Component, OnInit } from '@angular/core'; import { CoreWSFile } from '@services/ws'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a edit pdf feedback plugin. @@ -24,6 +25,10 @@ import { CoreWSFile } from '@services/ws'; @Component({ selector: 'addon-mod-assign-feedback-edit-pdf', templateUrl: 'addon-mod-assign-feedback-editpdf.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModAssignFeedbackEditPdfComponent extends AddonModAssignFeedbackPluginBaseComponent implements OnInit { diff --git a/src/addons/mod/assign/feedback/editpdf/editpdf.module.ts b/src/addons/mod/assign/feedback/editpdf/editpdf.module.ts index 670975e8fbd..df0c6abf078 100644 --- a/src/addons/mod/assign/feedback/editpdf/editpdf.module.ts +++ b/src/addons/mod/assign/feedback/editpdf/editpdf.module.ts @@ -19,11 +19,9 @@ import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate'; @NgModule({ - declarations: [ - AddonModAssignFeedbackEditPdfComponent, - ], imports: [ CoreSharedModule, + AddonModAssignFeedbackEditPdfComponent, ], providers: [ { diff --git a/src/addons/mod/assign/feedback/file/component/file.ts b/src/addons/mod/assign/feedback/file/component/file.ts index ef86aae4613..d3314d904a4 100644 --- a/src/addons/mod/assign/feedback/file/component/file.ts +++ b/src/addons/mod/assign/feedback/file/component/file.ts @@ -17,6 +17,7 @@ import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants'; import { AddonModAssign } from '@addons/mod/assign/services/assign'; import { Component, OnInit } from '@angular/core'; import { CoreWSFile } from '@services/ws'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a file feedback plugin. @@ -24,6 +25,10 @@ import { CoreWSFile } from '@services/ws'; @Component({ selector: 'addon-mod-assign-feedback-file', templateUrl: 'addon-mod-assign-feedback-file.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModAssignFeedbackFileComponent extends AddonModAssignFeedbackPluginBaseComponent implements OnInit { diff --git a/src/addons/mod/assign/feedback/file/file.module.ts b/src/addons/mod/assign/feedback/file/file.module.ts index b1dca620028..499ad8564df 100644 --- a/src/addons/mod/assign/feedback/file/file.module.ts +++ b/src/addons/mod/assign/feedback/file/file.module.ts @@ -19,11 +19,9 @@ import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate'; @NgModule({ - declarations: [ - AddonModAssignFeedbackFileComponent, - ], imports: [ CoreSharedModule, + AddonModAssignFeedbackFileComponent, ], providers: [ { diff --git a/src/addons/mod/assign/pages/edit/edit.ts b/src/addons/mod/assign/pages/edit/edit.ts index c2b917f9924..81287f29bb7 100644 --- a/src/addons/mod/assign/pages/edit/edit.ts +++ b/src/addons/mod/assign/pages/edit/edit.ts @@ -48,6 +48,8 @@ import { CoreToasts, ToastDuration } from '@services/overlays/toasts'; import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { AddonModAssignSubmissionPluginComponent } from '../../components/submission-plugin/submission-plugin'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that allows adding or editing an assigment submission. @@ -56,6 +58,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-assign-edit', templateUrl: 'edit.html', styleUrl: 'edit.scss', + standalone: true, + imports: [ + CoreSharedModule, + AddonModAssignSubmissionPluginComponent, + ], }) export class AddonModAssignEditPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/assign/pages/index/index.ts b/src/addons/mod/assign/pages/index/index.ts index 50a02f81e56..0b017c67886 100644 --- a/src/addons/mod/assign/pages/index/index.ts +++ b/src/addons/mod/assign/pages/index/index.ts @@ -17,6 +17,7 @@ import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main- import { AddonModAssignIndexComponent } from '../../components/index/index'; import { CoreNavigator } from '@services/navigator'; import { CoreWait } from '@singletons/wait'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays an assign. @@ -24,6 +25,11 @@ import { CoreWait } from '@singletons/wait'; @Component({ selector: 'page-addon-mod-assign-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModAssignIndexComponent, + ], }) export class AddonModAssignIndexPage extends CoreCourseModuleMainActivityPage implements AfterViewInit { diff --git a/src/addons/mod/assign/pages/submission-list/submission-list.ts b/src/addons/mod/assign/pages/submission-list/submission-list.ts index b305fbfa6d1..4c675f93330 100644 --- a/src/addons/mod/assign/pages/submission-list/submission-list.ts +++ b/src/addons/mod/assign/pages/submission-list/submission-list.ts @@ -34,6 +34,7 @@ import { import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { ADDON_MOD_ASSIGN_AUTO_SYNCED, ADDON_MOD_ASSIGN_GRADED_EVENT, ADDON_MOD_ASSIGN_MANUAL_SYNCED } from '../../constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a list of submissions of an assignment. @@ -41,6 +42,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-assign-submission-list', templateUrl: 'submission-list.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModAssignSubmissionListPage implements AfterViewInit, OnDestroy { diff --git a/src/addons/mod/assign/pages/submission-review/submission-review.ts b/src/addons/mod/assign/pages/submission-review/submission-review.ts index 1866faab012..0c5a85b833c 100644 --- a/src/addons/mod/assign/pages/submission-review/submission-review.ts +++ b/src/addons/mod/assign/pages/submission-review/submission-review.ts @@ -27,6 +27,7 @@ import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { Translate } from '@singletons'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a submission. @@ -34,6 +35,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-assign-submission-review', templateUrl: 'submission-review.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModAssignSubmissionComponent, + ], }) export class AddonModAssignSubmissionReviewPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/assign/submission/comments/comments.module.ts b/src/addons/mod/assign/submission/comments/comments.module.ts index 49de6435e6f..57584488209 100644 --- a/src/addons/mod/assign/submission/comments/comments.module.ts +++ b/src/addons/mod/assign/submission/comments/comments.module.ts @@ -20,12 +20,10 @@ import { AddonModAssignSubmissionDelegate } from '../../services/submission-dele import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; @NgModule({ - declarations: [ - AddonModAssignSubmissionCommentsComponent, - ], imports: [ CoreSharedModule, CoreCommentsComponentsModule, + AddonModAssignSubmissionCommentsComponent, ], providers: [ { diff --git a/src/addons/mod/assign/submission/comments/component/comments.ts b/src/addons/mod/assign/submission/comments/component/comments.ts index 099073d2508..8170095d4b4 100644 --- a/src/addons/mod/assign/submission/comments/component/comments.ts +++ b/src/addons/mod/assign/submission/comments/component/comments.ts @@ -17,6 +17,8 @@ import { AddonModAssignSubmissionPluginBaseComponent } from '@addons/mod/assign/ import { Component, ViewChild } from '@angular/core'; import { CoreCommentsCommentsComponent } from '@features/comments/components/comments/comments'; import { CoreComments } from '@features/comments/services/comments'; +import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a comments submission plugin. @@ -24,6 +26,11 @@ import { CoreComments } from '@features/comments/services/comments'; @Component({ selector: 'addon-mod-assign-submission-comments', templateUrl: 'addon-mod-assign-submission-comments.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCommentsComponentsModule, + ], }) export class AddonModAssignSubmissionCommentsComponent extends AddonModAssignSubmissionPluginBaseComponent { diff --git a/src/addons/mod/assign/submission/file/component/file.ts b/src/addons/mod/assign/submission/file/component/file.ts index a3e9becfde3..61ec12e06f1 100644 --- a/src/addons/mod/assign/submission/file/component/file.ts +++ b/src/addons/mod/assign/submission/file/component/file.ts @@ -24,6 +24,7 @@ import { FileEntry } from '@awesome-cordova-plugins/file/ngx'; import { AddonModAssignSubmissionPluginBaseComponent } from '@addons/mod/assign/classes/base-submission-plugin-component'; import { CoreFileEntry } from '@services/file-helper'; import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a file submission plugin. @@ -31,6 +32,10 @@ import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants'; @Component({ selector: 'addon-mod-assign-submission-file', templateUrl: 'addon-mod-assign-submission-file.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModAssignSubmissionFileComponent extends AddonModAssignSubmissionPluginBaseComponent implements OnInit { diff --git a/src/addons/mod/assign/submission/file/file.module.ts b/src/addons/mod/assign/submission/file/file.module.ts index a7142655696..b071496b53f 100644 --- a/src/addons/mod/assign/submission/file/file.module.ts +++ b/src/addons/mod/assign/submission/file/file.module.ts @@ -19,11 +19,9 @@ import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignSubmissionDelegate } from '../../services/submission-delegate'; @NgModule({ - declarations: [ - AddonModAssignSubmissionFileComponent, - ], imports: [ CoreSharedModule, + AddonModAssignSubmissionFileComponent, ], providers: [ { diff --git a/src/addons/mod/assign/submission/onlinetext/component/onlinetext.ts b/src/addons/mod/assign/submission/onlinetext/component/onlinetext.ts index de3766f1d25..c86cd22dd09 100644 --- a/src/addons/mod/assign/submission/onlinetext/component/onlinetext.ts +++ b/src/addons/mod/assign/submission/onlinetext/component/onlinetext.ts @@ -24,6 +24,8 @@ import { AddonModAssignSubmissionOnlineTextPluginData } from '../services/handle import { ContextLevel } from '@/core/constants'; import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants'; import { CoreViewer } from '@features/viewer/services/viewer'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render an onlinetext submission plugin. @@ -31,6 +33,11 @@ import { CoreViewer } from '@features/viewer/services/viewer'; @Component({ selector: 'addon-mod-assign-submission-online-text', templateUrl: 'addon-mod-assign-submission-onlinetext.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModAssignSubmissionOnlineTextComponent extends AddonModAssignSubmissionPluginBaseComponent implements OnInit { diff --git a/src/addons/mod/assign/submission/onlinetext/onlinetext.module.ts b/src/addons/mod/assign/submission/onlinetext/onlinetext.module.ts index fd2fc83387c..4acbaf4d105 100644 --- a/src/addons/mod/assign/submission/onlinetext/onlinetext.module.ts +++ b/src/addons/mod/assign/submission/onlinetext/onlinetext.module.ts @@ -20,12 +20,10 @@ import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignSubmissionDelegate } from '../../services/submission-delegate'; @NgModule({ - declarations: [ - AddonModAssignSubmissionOnlineTextComponent, - ], imports: [ CoreSharedModule, CoreEditorComponentsModule, + AddonModAssignSubmissionOnlineTextComponent, ], providers: [ { diff --git a/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts b/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts index a5bf8810a92..04e182c3c9f 100644 --- a/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts +++ b/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts @@ -30,8 +30,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModBBBComponentsModule, - ], - declarations: [ AddonModBBBIndexPage, ], }) diff --git a/src/addons/mod/bigbluebuttonbn/components/components.module.ts b/src/addons/mod/bigbluebuttonbn/components/components.module.ts index db3d5cf554a..5198e254390 100644 --- a/src/addons/mod/bigbluebuttonbn/components/components.module.ts +++ b/src/addons/mod/bigbluebuttonbn/components/components.module.ts @@ -18,12 +18,10 @@ import { CoreSharedModule } from '@/core/shared.module'; import { CoreCourseComponentsModule } from '@features/course/components/components.module'; @NgModule({ - declarations: [ - AddonModBBBIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModBBBIndexComponent, ], exports: [ AddonModBBBIndexComponent, diff --git a/src/addons/mod/bigbluebuttonbn/components/index/index.ts b/src/addons/mod/bigbluebuttonbn/components/index/index.ts index 87a3839d0eb..d808cf9eb6d 100644 --- a/src/addons/mod/bigbluebuttonbn/components/index/index.ts +++ b/src/addons/mod/bigbluebuttonbn/components/index/index.ts @@ -36,6 +36,8 @@ import { convertTextToHTMLElement } from '@/core/utils/create-html-element'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreOpener } from '@singletons/opener'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a Big Blue Button activity. @@ -44,6 +46,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-bbb-index', templateUrl: 'index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModBBBIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/bigbluebuttonbn/pages/index/index.ts b/src/addons/mod/bigbluebuttonbn/pages/index/index.ts index 3b5c6ddf7a4..b6487fb364b 100644 --- a/src/addons/mod/bigbluebuttonbn/pages/index/index.ts +++ b/src/addons/mod/bigbluebuttonbn/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModBBBIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a Big Blue Button activity. @@ -22,6 +23,11 @@ import { AddonModBBBIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-bbb-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModBBBIndexComponent, + ], }) export class AddonModBBBIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/book/book-lazy.module.ts b/src/addons/mod/book/book-lazy.module.ts index 95c30c6f2cc..2f3cd267d7b 100644 --- a/src/addons/mod/book/book-lazy.module.ts +++ b/src/addons/mod/book/book-lazy.module.ts @@ -37,8 +37,6 @@ const routes: Routes = [ CoreSharedModule, AddonModBookComponentsModule, CoreTagComponentsModule, - ], - declarations: [ AddonModBookIndexPage, AddonModBookContentsPage, ], diff --git a/src/addons/mod/book/components/components.module.ts b/src/addons/mod/book/components/components.module.ts index c3f80c2b47c..c5d5961c60c 100644 --- a/src/addons/mod/book/components/components.module.ts +++ b/src/addons/mod/book/components/components.module.ts @@ -20,12 +20,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModBookIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModBookIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModBookIndexComponent, ], exports: [ AddonModBookIndexComponent, diff --git a/src/addons/mod/book/components/index/index.ts b/src/addons/mod/book/components/index/index.ts index ed9b5f425bc..378b789b3ce 100644 --- a/src/addons/mod/book/components/index/index.ts +++ b/src/addons/mod/book/components/index/index.ts @@ -20,6 +20,8 @@ import { CoreCourse } from '@features/course/services/course'; import { CoreNavigator } from '@services/navigator'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { ADDON_MOD_BOOK_PAGE_NAME, AddonModBookNumbering } from '../../constants'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a book entry page. @@ -27,6 +29,11 @@ import { ADDON_MOD_BOOK_PAGE_NAME, AddonModBookNumbering } from '../../constants @Component({ selector: 'addon-mod-book-index', templateUrl: 'addon-mod-book-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModBookIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/book/pages/contents/contents.ts b/src/addons/mod/book/pages/contents/contents.ts index c7aad4fbca4..28e80494fbd 100644 --- a/src/addons/mod/book/pages/contents/contents.ts +++ b/src/addons/mod/book/pages/contents/contents.ts @@ -38,6 +38,8 @@ import { CoreUrl } from '@singletons/url'; import { ADDON_MOD_BOOK_COMPONENT, AddonModBookNavStyle } from '../../constants'; import { CoreModals } from '@services/overlays/modals'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a book contents. @@ -46,6 +48,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-book-contents', templateUrl: 'contents.html', styleUrl: 'contents.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreTagComponentsModule, + ], }) export class AddonModBookContentsPage implements OnInit, OnDestroy { diff --git a/src/addons/mod/book/pages/index/index.ts b/src/addons/mod/book/pages/index/index.ts index 81fc1fa6620..a05fbb4d528 100644 --- a/src/addons/mod/book/pages/index/index.ts +++ b/src/addons/mod/book/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModBookIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a book entry page. @@ -22,6 +23,11 @@ import { AddonModBookIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-book-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModBookIndexComponent, + ], }) export class AddonModBookIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/chat/chat-lazy.module.ts b/src/addons/mod/chat/chat-lazy.module.ts index ae3ce0a46b8..3ee27165344 100644 --- a/src/addons/mod/chat/chat-lazy.module.ts +++ b/src/addons/mod/chat/chat-lazy.module.ts @@ -72,8 +72,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModChatComponentsModule, - ], - declarations: [ AddonModChatIndexPage, AddonModChatChatPage, AddonModChatSessionsPage, diff --git a/src/addons/mod/chat/components/components.module.ts b/src/addons/mod/chat/components/components.module.ts index 4f5182ce337..d4270329994 100644 --- a/src/addons/mod/chat/components/components.module.ts +++ b/src/addons/mod/chat/components/components.module.ts @@ -18,12 +18,10 @@ import { CoreSharedModule } from '@/core/shared.module'; import { CoreCourseComponentsModule } from '@features/course/components/components.module'; @NgModule({ - declarations: [ - AddonModChatIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModChatIndexComponent, ], exports: [ AddonModChatIndexComponent, diff --git a/src/addons/mod/chat/components/index/index.ts b/src/addons/mod/chat/components/index/index.ts index 8fabd1587f5..ea148129026 100644 --- a/src/addons/mod/chat/components/index/index.ts +++ b/src/addons/mod/chat/components/index/index.ts @@ -21,6 +21,8 @@ import { CoreTimeUtils } from '@services/utils/time'; import { CoreTime } from '@singletons/time'; import { AddonModChat, AddonModChatChat } from '../../services/chat'; import { ADDON_MOD_CHAT_COMPONENT, ADDON_MOD_CHAT_PAGE_NAME } from '../../constants'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a chat. @@ -28,6 +30,11 @@ import { ADDON_MOD_CHAT_COMPONENT, ADDON_MOD_CHAT_PAGE_NAME } from '../../consta @Component({ selector: 'addon-mod-chat-index', templateUrl: 'addon-mod-chat-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModChatIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/chat/pages/chat/chat.ts b/src/addons/mod/chat/pages/chat/chat.ts index b3a7179d241..f92453189c5 100644 --- a/src/addons/mod/chat/pages/chat/chat.ts +++ b/src/addons/mod/chat/pages/chat/chat.ts @@ -33,6 +33,7 @@ import { CoreWait } from '@singletons/wait'; import { CoreModals } from '@services/overlays/modals'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a chat session. @@ -41,6 +42,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-chat-chat', templateUrl: 'chat.html', styleUrls: ['../../../../../theme/components/discussion.scss', 'chat.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModChatChatPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/chat/pages/index/index.ts b/src/addons/mod/chat/pages/index/index.ts index 9b87c5afaec..725f74572c6 100644 --- a/src/addons/mod/chat/pages/index/index.ts +++ b/src/addons/mod/chat/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModChatIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a chat. @@ -22,6 +23,11 @@ import { AddonModChatIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-chat-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModChatIndexComponent, + ], }) export class AddonModChatIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/chat/pages/session-messages/session-messages.ts b/src/addons/mod/chat/pages/session-messages/session-messages.ts index a3a0f0338e8..a5e6f3c02f8 100644 --- a/src/addons/mod/chat/pages/session-messages/session-messages.ts +++ b/src/addons/mod/chat/pages/session-messages/session-messages.ts @@ -23,6 +23,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { Translate } from '@singletons'; import { CoreTime } from '@singletons/time'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays list of chat session messages. @@ -31,6 +32,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-chat-session-messages', templateUrl: 'session-messages.html', styleUrls: ['../../../../../theme/components/discussion.scss', 'session-messages.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModChatSessionMessagesPage implements OnInit { diff --git a/src/addons/mod/chat/pages/sessions/sessions.ts b/src/addons/mod/chat/pages/sessions/sessions.ts index d5e558ae625..22a5c72c13f 100644 --- a/src/addons/mod/chat/pages/sessions/sessions.ts +++ b/src/addons/mod/chat/pages/sessions/sessions.ts @@ -26,6 +26,7 @@ import { AddonModChat } from '@addons/mod/chat/services/chat'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays list of chat sessions. @@ -33,6 +34,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-chat-sessions', templateUrl: 'sessions.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModChatSessionsPage implements OnInit, AfterViewInit, OnDestroy { diff --git a/src/addons/mod/choice/choice-lazy.module.ts b/src/addons/mod/choice/choice-lazy.module.ts index bcbcc9c2db7..465c2a74870 100644 --- a/src/addons/mod/choice/choice-lazy.module.ts +++ b/src/addons/mod/choice/choice-lazy.module.ts @@ -30,8 +30,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModChoiceComponentsModule, - ], - declarations: [ AddonModChoiceIndexPage, ], }) diff --git a/src/addons/mod/choice/components/components.module.ts b/src/addons/mod/choice/components/components.module.ts index bef917cc37a..aa244b20a64 100644 --- a/src/addons/mod/choice/components/components.module.ts +++ b/src/addons/mod/choice/components/components.module.ts @@ -18,12 +18,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModChoiceIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModChoiceIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModChoiceIndexComponent, ], exports: [ AddonModChoiceIndexComponent, diff --git a/src/addons/mod/choice/components/index/index.ts b/src/addons/mod/choice/components/index/index.ts index fa6d2934fdb..4445e46f48d 100644 --- a/src/addons/mod/choice/components/index/index.ts +++ b/src/addons/mod/choice/components/index/index.ts @@ -42,6 +42,8 @@ import { } from '../../constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a choice. @@ -49,6 +51,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'addon-mod-choice-index', templateUrl: 'addon-mod-choice-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModChoiceIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/choice/pages/index/index.ts b/src/addons/mod/choice/pages/index/index.ts index ab61f4730e9..345a40ed214 100644 --- a/src/addons/mod/choice/pages/index/index.ts +++ b/src/addons/mod/choice/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModChoiceIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a choice. @@ -22,6 +23,11 @@ import { AddonModChoiceIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-choice-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModChoiceIndexComponent, + ], }) export class AddonModChoiceIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/data/components/action/action.ts b/src/addons/mod/data/components/action/action.ts index 672e6583788..85eb12c2f28 100644 --- a/src/addons/mod/data/components/action/action.ts +++ b/src/addons/mod/data/components/action/action.ts @@ -34,6 +34,9 @@ import { AddonModDataAction, AddonModDataTemplateMode, } from '../../constants'; +import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a database action. @@ -41,6 +44,12 @@ import { @Component({ selector: 'addon-mod-data-action', templateUrl: 'addon-mod-data-action.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCommentsComponentsModule, + CoreTagComponentsModule, + ], }) export class AddonModDataActionComponent implements OnInit { diff --git a/src/addons/mod/data/components/components-compile.module.ts b/src/addons/mod/data/components/components-compile.module.ts index 72277202c3e..9d71a662027 100644 --- a/src/addons/mod/data/components/components-compile.module.ts +++ b/src/addons/mod/data/components/components-compile.module.ts @@ -21,14 +21,12 @@ import { CoreTagComponentsModule } from '@features/tag/components/components.mod // This module is intended to be passed to the compiler in order to avoid circular depencencies. @NgModule({ - declarations: [ - AddonModDataFieldPluginComponent, - AddonModDataActionComponent, - ], imports: [ CoreSharedModule, CoreCommentsComponentsModule, CoreTagComponentsModule, + AddonModDataFieldPluginComponent, + AddonModDataActionComponent, ], exports: [ AddonModDataActionComponent, diff --git a/src/addons/mod/data/components/components.module.ts b/src/addons/mod/data/components/components.module.ts index 96e3ee26458..21ccdab5f16 100644 --- a/src/addons/mod/data/components/components.module.ts +++ b/src/addons/mod/data/components/components.module.ts @@ -19,13 +19,11 @@ import { AddonModDataIndexComponent } from './index'; import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; @NgModule({ - declarations: [ - AddonModDataIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, CoreCompileHtmlComponentModule, + AddonModDataIndexComponent, ], exports: [ AddonModDataIndexComponent, diff --git a/src/addons/mod/data/components/field-plugin/field-plugin.ts b/src/addons/mod/data/components/field-plugin/field-plugin.ts index f364c1a6758..4b06c3cf8de 100644 --- a/src/addons/mod/data/components/field-plugin/field-plugin.ts +++ b/src/addons/mod/data/components/field-plugin/field-plugin.ts @@ -20,6 +20,7 @@ import { AddonModDataEntryFieldInitialized, AddonModDataFieldPluginBaseComponent import { AddonModDataData, AddonModDataField } from '../../services/data'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; import { AddonModDataTemplateMode } from '../../constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a database field plugin. @@ -27,6 +28,10 @@ import { AddonModDataTemplateMode } from '../../constants'; @Component({ selector: 'addon-mod-data-field-plugin', templateUrl: 'addon-mod-data-field-plugin.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldPluginComponent implements OnInit, OnChanges { diff --git a/src/addons/mod/data/components/index/index.ts b/src/addons/mod/data/components/index/index.ts index 58e5b2917e2..41572f6a36b 100644 --- a/src/addons/mod/data/components/index/index.ts +++ b/src/addons/mod/data/components/index/index.ts @@ -56,6 +56,9 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; const contentToken = ''; @@ -66,6 +69,12 @@ const contentToken = ''; selector: 'addon-mod-data-index', templateUrl: 'addon-mod-data-index.html', styleUrl: '../../data.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + CoreCompileHtmlComponentModule, + ], }) export class AddonModDataIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/data/components/search-modal/search-modal.ts b/src/addons/mod/data/components/search-modal/search-modal.ts index 2fe0231904a..d3c131c96d5 100644 --- a/src/addons/mod/data/components/search-modal/search-modal.ts +++ b/src/addons/mod/data/components/search-modal/search-modal.ts @@ -31,7 +31,7 @@ import { AddonModDataComponentsCompileModule } from '../components-compile.modul import { AddonModDataSearchDataParams } from '../index'; import { AddonModDataTemplateType } from '../../constants'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCompileHtmlComponentModule } from '../../../../../core/features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; /** * Page that displays the search modal. diff --git a/src/addons/mod/data/data-lazy.module.ts b/src/addons/mod/data/data-lazy.module.ts index f144fcb7bbd..2945ad3aba9 100644 --- a/src/addons/mod/data/data-lazy.module.ts +++ b/src/addons/mod/data/data-lazy.module.ts @@ -55,8 +55,6 @@ const routes: Routes = [ CoreCommentsComponentsModule, CoreRatingComponentsModule, CoreCompileHtmlComponentModule, - ], - declarations: [ AddonModDataIndexPage, AddonModDataEntryPage, AddonModDataEditPage, diff --git a/src/addons/mod/data/fields/checkbox/checkbox.module.ts b/src/addons/mod/data/fields/checkbox/checkbox.module.ts index 05331b4ac75..dae59a4715d 100644 --- a/src/addons/mod/data/fields/checkbox/checkbox.module.ts +++ b/src/addons/mod/data/fields/checkbox/checkbox.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate' import { AddonModDataFieldCheckboxHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldCheckboxComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldCheckboxComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/checkbox/component/checkbox.ts b/src/addons/mod/data/fields/checkbox/component/checkbox.ts index 7b9ef0a6402..c67c4e17cdc 100644 --- a/src/addons/mod/data/fields/checkbox/component/checkbox.ts +++ b/src/addons/mod/data/fields/checkbox/component/checkbox.ts @@ -15,6 +15,7 @@ import { AddonModDataEntryField } from '@addons/mod/data/services/data'; import { Component } from '@angular/core'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data checkbox field. @@ -22,6 +23,10 @@ import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-fiel @Component({ selector: 'addon-mod-data-field-checkbox', templateUrl: 'addon-mod-data-field-checkbox.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldCheckboxComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/date/component/date.ts b/src/addons/mod/data/fields/date/component/date.ts index bcda3ada62e..c39c0e6d3fe 100644 --- a/src/addons/mod/data/fields/date/component/date.ts +++ b/src/addons/mod/data/fields/date/component/date.ts @@ -16,6 +16,7 @@ import { Component } from '@angular/core'; import { CoreTimeUtils } from '@services/utils/time'; import moment, { Moment } from 'moment-timezone'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data date field. @@ -23,6 +24,10 @@ import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-fiel @Component({ selector: 'addon-mod-data-field-date', templateUrl: 'addon-mod-data-field-date.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldDateComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/date/date.module.ts b/src/addons/mod/data/fields/date/date.module.ts index e32d886e331..4de74738ae7 100644 --- a/src/addons/mod/data/fields/date/date.module.ts +++ b/src/addons/mod/data/fields/date/date.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldDateComponent } from './component/date'; import { AddonModDataFieldDateHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldDateComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldDateComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/file/component/file.ts b/src/addons/mod/data/fields/file/component/file.ts index 901f1db10cf..d080d4d92d1 100644 --- a/src/addons/mod/data/fields/file/component/file.ts +++ b/src/addons/mod/data/fields/file/component/file.ts @@ -18,6 +18,7 @@ import { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/b import { CoreFileSession } from '@services/file-session'; import { CoreFileEntry } from '@services/file-helper'; import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data file field. @@ -25,6 +26,10 @@ import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants'; @Component({ selector: 'addon-mod-data-field-file', templateUrl: 'addon-mod-data-field-file.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldFileComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/file/file.module.ts b/src/addons/mod/data/fields/file/file.module.ts index a77c3f05e77..fb65c81191c 100644 --- a/src/addons/mod/data/fields/file/file.module.ts +++ b/src/addons/mod/data/fields/file/file.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldFileComponent } from './component/file'; import { AddonModDataFieldFileHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldFileComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldFileComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/latlong/component/latlong.ts b/src/addons/mod/data/fields/latlong/component/latlong.ts index dcfdb064328..296d28d4883 100644 --- a/src/addons/mod/data/fields/latlong/component/latlong.ts +++ b/src/addons/mod/data/fields/latlong/component/latlong.ts @@ -23,6 +23,7 @@ import { CoreAlerts } from '@services/overlays/alerts'; import { CoreLoadings } from '@services/overlays/loadings'; import { CorePlatform } from '@services/platform'; import { DomSanitizer, Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data latlong field. @@ -30,6 +31,10 @@ import { DomSanitizer, Translate } from '@singletons'; @Component({ selector: 'addon-mod-data-field-latlong', templateUrl: 'addon-mod-data-field-latlong.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldLatlongComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/latlong/latlong.module.ts b/src/addons/mod/data/fields/latlong/latlong.module.ts index d7aca0e7e32..bbf9987b2a5 100644 --- a/src/addons/mod/data/fields/latlong/latlong.module.ts +++ b/src/addons/mod/data/fields/latlong/latlong.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldLatlongComponent } from './component/latlong'; import { AddonModDataFieldLatlongHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldLatlongComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldLatlongComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/menu/component/menu.ts b/src/addons/mod/data/fields/menu/component/menu.ts index 013ea344d8d..8958165328b 100644 --- a/src/addons/mod/data/fields/menu/component/menu.ts +++ b/src/addons/mod/data/fields/menu/component/menu.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data menu field. @@ -21,6 +22,10 @@ import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-fiel @Component({ selector: 'addon-mod-data-field-menu', templateUrl: 'addon-mod-data-field-menu.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldMenuComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/menu/menu.module.ts b/src/addons/mod/data/fields/menu/menu.module.ts index 1d0537e0f86..1c497113f88 100644 --- a/src/addons/mod/data/fields/menu/menu.module.ts +++ b/src/addons/mod/data/fields/menu/menu.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldMenuComponent } from './component/menu'; import { AddonModDataFieldMenuHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldMenuComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldMenuComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/multimenu/component/multimenu.ts b/src/addons/mod/data/fields/multimenu/component/multimenu.ts index 46cb8696fbb..6653aa44b01 100644 --- a/src/addons/mod/data/fields/multimenu/component/multimenu.ts +++ b/src/addons/mod/data/fields/multimenu/component/multimenu.ts @@ -15,6 +15,7 @@ import { AddonModDataEntryField } from '@addons/mod/data/services/data'; import { Component } from '@angular/core'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data multimenu field. @@ -22,6 +23,10 @@ import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-fiel @Component({ selector: 'addon-mod-data-field-multimenu', templateUrl: 'addon-mod-data-field-multimenu.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldMultimenuComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/multimenu/multimenu.module.ts b/src/addons/mod/data/fields/multimenu/multimenu.module.ts index 92da6d8814e..7211ce76e3b 100644 --- a/src/addons/mod/data/fields/multimenu/multimenu.module.ts +++ b/src/addons/mod/data/fields/multimenu/multimenu.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldMultimenuComponent } from './component/multimenu'; import { AddonModDataFieldMultimenuHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldMultimenuComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldMultimenuComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/number/component/number.ts b/src/addons/mod/data/fields/number/component/number.ts index c1d6a2f2a1f..611ec6392e8 100644 --- a/src/addons/mod/data/fields/number/component/number.ts +++ b/src/addons/mod/data/fields/number/component/number.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data number field. @@ -21,6 +22,10 @@ import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-fiel @Component({ selector: 'addon-mod-data-field-number', templateUrl: 'addon-mod-data-field-number.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldNumberComponent extends AddonModDataFieldPluginBaseComponent{ diff --git a/src/addons/mod/data/fields/number/number.module.ts b/src/addons/mod/data/fields/number/number.module.ts index 3ba78d2b679..e0ffb6eeb1d 100644 --- a/src/addons/mod/data/fields/number/number.module.ts +++ b/src/addons/mod/data/fields/number/number.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldNumberComponent } from './component/number'; import { AddonModDataFieldNumberHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldNumberComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldNumberComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/picture/component/picture.ts b/src/addons/mod/data/fields/picture/component/picture.ts index 13441a523d2..4a69c3538a2 100644 --- a/src/addons/mod/data/fields/picture/component/picture.ts +++ b/src/addons/mod/data/fields/picture/component/picture.ts @@ -20,6 +20,7 @@ import { CoreDom } from '@singletons/dom'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; import { CoreFile } from '@services/file'; import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data picture field. @@ -27,6 +28,10 @@ import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants'; @Component({ selector: 'addon-mod-data-field-picture', templateUrl: 'addon-mod-data-field-picture.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldPictureComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/picture/picture.module.ts b/src/addons/mod/data/fields/picture/picture.module.ts index 31a352cce07..ee9366c6c85 100644 --- a/src/addons/mod/data/fields/picture/picture.module.ts +++ b/src/addons/mod/data/fields/picture/picture.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldPictureComponent } from './component/picture'; import { AddonModDataFieldPictureHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldPictureComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldPictureComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/radiobutton/component/radiobutton.ts b/src/addons/mod/data/fields/radiobutton/component/radiobutton.ts index 1b453cf69e3..e7fac43ced6 100644 --- a/src/addons/mod/data/fields/radiobutton/component/radiobutton.ts +++ b/src/addons/mod/data/fields/radiobutton/component/radiobutton.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data radiobutton field. @@ -21,6 +22,10 @@ import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-fiel @Component({ selector: 'addon-mod-data-field-radiobutton', templateUrl: 'addon-mod-data-field-radiobutton.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldRadiobuttonComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/radiobutton/radiobutton.module.ts b/src/addons/mod/data/fields/radiobutton/radiobutton.module.ts index e44ef5d272d..d70e2d9764e 100644 --- a/src/addons/mod/data/fields/radiobutton/radiobutton.module.ts +++ b/src/addons/mod/data/fields/radiobutton/radiobutton.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldRadiobuttonComponent } from './component/radiobutton'; import { AddonModDataFieldRadiobuttonHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldRadiobuttonComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldRadiobuttonComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/text/component/text.ts b/src/addons/mod/data/fields/text/component/text.ts index daae01d8ea5..3d6e9716630 100644 --- a/src/addons/mod/data/fields/text/component/text.ts +++ b/src/addons/mod/data/fields/text/component/text.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data text field. @@ -21,6 +22,10 @@ import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-fiel @Component({ selector: 'addon-mod-data-field-text', templateUrl: 'addon-mod-data-field-text.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldTextComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/text/text.module.ts b/src/addons/mod/data/fields/text/text.module.ts index d5e4db05586..90e344d5c5a 100644 --- a/src/addons/mod/data/fields/text/text.module.ts +++ b/src/addons/mod/data/fields/text/text.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldTextComponent } from './component/text'; import { AddonModDataFieldTextHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldTextComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldTextComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/textarea/component/textarea.ts b/src/addons/mod/data/fields/textarea/component/textarea.ts index 47bc4260bdd..e9e98af7248 100644 --- a/src/addons/mod/data/fields/textarea/component/textarea.ts +++ b/src/addons/mod/data/fields/textarea/component/textarea.ts @@ -18,6 +18,8 @@ import { AddonModDataEntryField } from '@addons/mod/data/services/data'; import { CoreFileHelper } from '@services/file-helper'; import { CoreWSFile } from '@services/ws'; import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data number field. @@ -25,6 +27,11 @@ import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants'; @Component({ selector: 'addon-mod-data-field-textarea', templateUrl: 'addon-mod-data-field-textarea.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModDataFieldTextareaComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/textarea/textarea.module.ts b/src/addons/mod/data/fields/textarea/textarea.module.ts index 0b9a8e73f87..92a46c3c0b4 100644 --- a/src/addons/mod/data/fields/textarea/textarea.module.ts +++ b/src/addons/mod/data/fields/textarea/textarea.module.ts @@ -20,12 +20,10 @@ import { AddonModDataFieldTextareaComponent } from './component/textarea'; import { AddonModDataFieldTextareaHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldTextareaComponent, - ], imports: [ CoreSharedModule, CoreEditorComponentsModule, + AddonModDataFieldTextareaComponent, ], providers: [ { diff --git a/src/addons/mod/data/fields/url/component/url.ts b/src/addons/mod/data/fields/url/component/url.ts index 8784b07483d..8e85cfdd215 100644 --- a/src/addons/mod/data/fields/url/component/url.ts +++ b/src/addons/mod/data/fields/url/component/url.ts @@ -15,6 +15,7 @@ import { AddonModDataEntryField } from '@addons/mod/data/services/data'; import { Component } from '@angular/core'; import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-field-plugin-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render data url field. @@ -22,6 +23,10 @@ import { AddonModDataFieldPluginBaseComponent } from '../../../classes/base-fiel @Component({ selector: 'addon-mod-data-field-url', templateUrl: 'addon-mod-data-field-url.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModDataFieldUrlComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/fields/url/url.module.ts b/src/addons/mod/data/fields/url/url.module.ts index c0e107890e9..b181d8d0403 100644 --- a/src/addons/mod/data/fields/url/url.module.ts +++ b/src/addons/mod/data/fields/url/url.module.ts @@ -19,11 +19,9 @@ import { AddonModDataFieldUrlComponent } from './component/url'; import { AddonModDataFieldUrlHandler } from './services/handler'; @NgModule({ - declarations: [ - AddonModDataFieldUrlComponent, - ], imports: [ CoreSharedModule, + AddonModDataFieldUrlComponent, ], providers: [ { diff --git a/src/addons/mod/data/pages/edit/edit.ts b/src/addons/mod/data/pages/edit/edit.ts index d03763942f7..49843e27861 100644 --- a/src/addons/mod/data/pages/edit/edit.ts +++ b/src/addons/mod/data/pages/edit/edit.ts @@ -47,6 +47,8 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreArray } from '@singletons/array'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the view edit page. @@ -55,6 +57,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-data-edit', templateUrl: 'edit.html', styleUrls: ['../../data.scss', '../../data-forms.scss'], + standalone: true, + imports: [ + CoreSharedModule, + CoreCompileHtmlComponentModule, + ], }) export class AddonModDataEditPage implements OnInit { diff --git a/src/addons/mod/data/pages/entry/entry.ts b/src/addons/mod/data/pages/entry/entry.ts index 9e1e1504e4c..e2454bb3e1b 100644 --- a/src/addons/mod/data/pages/entry/entry.ts +++ b/src/addons/mod/data/pages/entry/entry.ts @@ -45,6 +45,10 @@ import { import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; +import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; +import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the view entry page. @@ -53,6 +57,13 @@ import { Translate } from '@singletons'; selector: 'page-addon-mod-data-entry', templateUrl: 'entry.html', styleUrl: '../../data.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCompileHtmlComponentModule, + CoreRatingComponentsModule, + CoreCommentsComponentsModule, + ], }) export class AddonModDataEntryPage implements OnInit, OnDestroy { diff --git a/src/addons/mod/data/pages/index/index.ts b/src/addons/mod/data/pages/index/index.ts index 4736872dc35..06246a60a7b 100644 --- a/src/addons/mod/data/pages/index/index.ts +++ b/src/addons/mod/data/pages/index/index.ts @@ -16,6 +16,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { CoreNavigator } from '@services/navigator'; import { AddonModDataIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a data. @@ -23,6 +24,11 @@ import { AddonModDataIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-data-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModDataIndexComponent, + ], }) export class AddonModDataIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { diff --git a/src/addons/mod/feedback/components/components.module.ts b/src/addons/mod/feedback/components/components.module.ts index 4db944b52d2..b85b306d5f8 100644 --- a/src/addons/mod/feedback/components/components.module.ts +++ b/src/addons/mod/feedback/components/components.module.ts @@ -18,12 +18,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModFeedbackIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModFeedbackIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModFeedbackIndexComponent, ], exports: [ AddonModFeedbackIndexComponent, diff --git a/src/addons/mod/feedback/components/index/index.ts b/src/addons/mod/feedback/components/index/index.ts index 33e571e709b..26584767c8d 100644 --- a/src/addons/mod/feedback/components/index/index.ts +++ b/src/addons/mod/feedback/components/index/index.ts @@ -45,6 +45,8 @@ import { ADDON_MOD_FEEDBACK_PAGE_NAME, AddonModFeedbackIndexTabName, } from '../../constants'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a feedback index page. @@ -52,6 +54,11 @@ import { @Component({ selector: 'addon-mod-feedback-index', templateUrl: 'addon-mod-feedback-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModFeedbackIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/feedback/feedback-lazy.module.ts b/src/addons/mod/feedback/feedback-lazy.module.ts index b0f067de4d7..ecb997bd864 100644 --- a/src/addons/mod/feedback/feedback-lazy.module.ts +++ b/src/addons/mod/feedback/feedback-lazy.module.ts @@ -77,8 +77,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModFeedbackComponentsModule, - ], - declarations: [ AddonModFeedbackAttemptsPage, AddonModFeedbackFormPage, AddonModFeedbackIndexPage, diff --git a/src/addons/mod/feedback/pages/attempt/attempt.ts b/src/addons/mod/feedback/pages/attempt/attempt.ts index 267225300f4..8b97b95ad6b 100644 --- a/src/addons/mod/feedback/pages/attempt/attempt.ts +++ b/src/addons/mod/feedback/pages/attempt/attempt.ts @@ -30,6 +30,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { ADDON_MOD_FEEDBACK_COMPONENT } from '../../constants'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a feedback attempt review. @@ -37,6 +38,10 @@ import { Translate } from '@singletons'; @Component({ selector: 'page-addon-mod-feedback-attempt', templateUrl: 'attempt.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModFeedbackAttemptPage implements OnInit, OnDestroy { diff --git a/src/addons/mod/feedback/pages/attempts/attempts.ts b/src/addons/mod/feedback/pages/attempts/attempts.ts index 151f9f5305a..77bd2e8b027 100644 --- a/src/addons/mod/feedback/pages/attempts/attempts.ts +++ b/src/addons/mod/feedback/pages/attempts/attempts.ts @@ -27,6 +27,7 @@ import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays feedback attempts. @@ -34,6 +35,10 @@ import { Translate } from '@singletons'; @Component({ selector: 'page-addon-mod-feedback-attempts', templateUrl: 'attempts.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModFeedbackAttemptsPage implements AfterViewInit, OnDestroy { diff --git a/src/addons/mod/feedback/pages/form/form.ts b/src/addons/mod/feedback/pages/form/form.ts index e176ee5d130..315b8965d97 100644 --- a/src/addons/mod/feedback/pages/form/form.ts +++ b/src/addons/mod/feedback/pages/form/form.ts @@ -47,6 +47,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays feedback form. @@ -55,6 +56,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-feedback-form', templateUrl: 'form.html', styleUrl: 'form.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModFeedbackFormPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/feedback/pages/index/index.ts b/src/addons/mod/feedback/pages/index/index.ts index 01284d9b62e..adf9f88f412 100644 --- a/src/addons/mod/feedback/pages/index/index.ts +++ b/src/addons/mod/feedback/pages/index/index.ts @@ -17,6 +17,7 @@ import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main- import { CoreNavigator } from '@services/navigator'; import { AddonModFeedbackIndexComponent } from '../../components/index/index'; import { AddonModFeedbackIndexTabName } from '../../constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a feedback. @@ -24,6 +25,11 @@ import { AddonModFeedbackIndexTabName } from '../../constants'; @Component({ selector: 'page-addon-mod-feedback-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModFeedbackIndexComponent, + ], }) export class AddonModFeedbackIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { diff --git a/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.ts b/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.ts index 63bfbfafb3d..a7ff74531b4 100644 --- a/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.ts +++ b/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.ts @@ -22,6 +22,7 @@ import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays feedback non respondents. @@ -29,6 +30,10 @@ import { Translate } from '@singletons'; @Component({ selector: 'page-addon-mod-feedback-nonrespondents', templateUrl: 'nonrespondents.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModFeedbackNonRespondentsPage implements OnInit { diff --git a/src/addons/mod/folder/components/components.module.ts b/src/addons/mod/folder/components/components.module.ts index 1137d911ac3..396fcd8f4b5 100644 --- a/src/addons/mod/folder/components/components.module.ts +++ b/src/addons/mod/folder/components/components.module.ts @@ -20,12 +20,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModFolderIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModFolderIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModFolderIndexComponent, ], exports: [ AddonModFolderIndexComponent, diff --git a/src/addons/mod/folder/components/index/index.ts b/src/addons/mod/folder/components/index/index.ts index 71b4559be79..a48f8ca51b3 100644 --- a/src/addons/mod/folder/components/index/index.ts +++ b/src/addons/mod/folder/components/index/index.ts @@ -23,6 +23,8 @@ import { AddonModFolder, AddonModFolderFolder } from '../../services/folder'; import { AddonModFolderFolderFormattedData, AddonModFolderHelper } from '../../services/folder-helper'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { ADDON_MOD_FOLDER_COMPONENT, ADDON_MOD_FOLDER_PAGE_NAME } from '../../constants'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a folder. @@ -33,6 +35,11 @@ import { ADDON_MOD_FOLDER_COMPONENT, ADDON_MOD_FOLDER_PAGE_NAME } from '../../co @Component({ selector: 'addon-mod-folder-index', templateUrl: 'addon-mod-folder-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModFolderIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit { diff --git a/src/addons/mod/folder/folder-lazy.module.ts b/src/addons/mod/folder/folder-lazy.module.ts index 3000b072621..e19bd260543 100644 --- a/src/addons/mod/folder/folder-lazy.module.ts +++ b/src/addons/mod/folder/folder-lazy.module.ts @@ -37,8 +37,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModFolderComponentsModule, - ], - declarations: [ AddonModFolderIndexPage, ], }) diff --git a/src/addons/mod/folder/pages/index/index.ts b/src/addons/mod/folder/pages/index/index.ts index 174a4e4ef38..1efc405d505 100644 --- a/src/addons/mod/folder/pages/index/index.ts +++ b/src/addons/mod/folder/pages/index/index.ts @@ -18,6 +18,7 @@ import { CoreNavigator } from '@services/navigator'; import { AddonModFolderIndexComponent } from '../../components/index/index'; import { AddonModFolderFolder } from '../../services/folder'; import { AddonModFolderFolderFormattedData } from '../../services/folder-helper'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a folder. @@ -25,6 +26,11 @@ import { AddonModFolderFolderFormattedData } from '../../services/folder-helper' @Component({ selector: 'page-addon-mod-folder-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModFolderIndexComponent, + ], }) export class AddonModFolderIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { diff --git a/src/addons/mod/forum/components/components.module.ts b/src/addons/mod/forum/components/components.module.ts index 30553a81838..7b1db5062a6 100644 --- a/src/addons/mod/forum/components/components.module.ts +++ b/src/addons/mod/forum/components/components.module.ts @@ -24,16 +24,14 @@ import { AddonModForumIndexComponent } from './index/index'; import { AddonModForumPostComponent } from './post/post'; @NgModule({ - declarations: [ - AddonModForumIndexComponent, - AddonModForumPostComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, CoreTagComponentsModule, CoreEditorComponentsModule, CoreRatingComponentsModule, + AddonModForumIndexComponent, + AddonModForumPostComponent, ], exports: [ AddonModForumIndexComponent, diff --git a/src/addons/mod/forum/components/index/index.ts b/src/addons/mod/forum/components/index/index.ts index 28765fddbc7..d7792827600 100644 --- a/src/addons/mod/forum/components/index/index.ts +++ b/src/addons/mod/forum/components/index/index.ts @@ -15,7 +15,6 @@ import { Component, Optional, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { IonContent } from '@ionic/angular'; - import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; import { AddonModForum, @@ -68,6 +67,9 @@ import { CoreToasts } from '@services/overlays/toasts'; import { CorePopovers } from '@services/overlays/popovers'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; + /** * Component that displays a forum entry page. */ @@ -75,6 +77,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-forum-index', templateUrl: 'index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModForumIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, AfterViewInit, OnDestroy { diff --git a/src/addons/mod/forum/components/post/post.ts b/src/addons/mod/forum/components/post/post.ts index 5d10ebe19ce..6ef320e4fc1 100644 --- a/src/addons/mod/forum/components/post/post.ts +++ b/src/addons/mod/forum/components/post/post.ts @@ -61,6 +61,10 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreAlerts } from '@services/overlays/alerts'; import { AccordionGroupCustomEvent } from '@ionic/angular'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; +import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Components that shows a discussion post, its attachments and the action buttons allowed (reply, etc.). @@ -69,6 +73,13 @@ import { AccordionGroupCustomEvent } from '@ionic/angular'; selector: 'addon-mod-forum-post', templateUrl: 'post.html', styleUrl: 'post.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreTagComponentsModule, + CoreRatingComponentsModule, + CoreEditorComponentsModule, + ], }) export class AddonModForumPostComponent implements OnInit, OnDestroy, OnChanges { diff --git a/src/addons/mod/forum/forum-discussion-lazy.module.ts b/src/addons/mod/forum/forum-discussion-lazy.module.ts index 6c6a196811e..b0b69223703 100644 --- a/src/addons/mod/forum/forum-discussion-lazy.module.ts +++ b/src/addons/mod/forum/forum-discussion-lazy.module.ts @@ -31,8 +31,6 @@ const routes: Routes = [{ RouterModule.forChild(routes), CoreSharedModule, AddonModForumComponentsModule, - ], - declarations: [ AddonModForumDiscussionPage, ], }) diff --git a/src/addons/mod/forum/forum-lazy.module.ts b/src/addons/mod/forum/forum-lazy.module.ts index ff14520f55d..77b55a54f61 100644 --- a/src/addons/mod/forum/forum-lazy.module.ts +++ b/src/addons/mod/forum/forum-lazy.module.ts @@ -68,8 +68,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModForumComponentsModule, - ], - declarations: [ AddonModForumIndexPage, ], }) diff --git a/src/addons/mod/forum/forum-new-discussion-lazy.module.ts b/src/addons/mod/forum/forum-new-discussion-lazy.module.ts index 72fb57ea2ad..41afa9c2c4b 100644 --- a/src/addons/mod/forum/forum-new-discussion-lazy.module.ts +++ b/src/addons/mod/forum/forum-new-discussion-lazy.module.ts @@ -33,8 +33,6 @@ const routes: Routes = [{ CoreSharedModule, AddonModForumComponentsModule, CoreEditorComponentsModule, - ], - declarations: [ AddonModForumNewDiscussionPage, ], }) diff --git a/src/addons/mod/forum/forum-search-lazy.module.ts b/src/addons/mod/forum/forum-search-lazy.module.ts index c7f09a364da..f2cf4a59de0 100644 --- a/src/addons/mod/forum/forum-search-lazy.module.ts +++ b/src/addons/mod/forum/forum-search-lazy.module.ts @@ -30,8 +30,6 @@ const routes: Routes = [{ CoreSharedModule, CoreSearchComponentsModule, CoreMainMenuComponentsModule, - ], - declarations: [ AddonModForumSearchPage, ], }) diff --git a/src/addons/mod/forum/pages/discussion/discussion.ts b/src/addons/mod/forum/pages/discussion/discussion.ts index 10e56e0de48..6714f232dca 100644 --- a/src/addons/mod/forum/pages/discussion/discussion.ts +++ b/src/addons/mod/forum/pages/discussion/discussion.ts @@ -64,6 +64,8 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; +import { AddonModForumPostComponent } from '../../components/post/post'; +import { CoreSharedModule } from '@/core/shared.module'; type SortType = 'flat-newest' | 'flat-oldest' | 'nested'; @@ -76,6 +78,11 @@ type Post = AddonModForumPost & { children?: Post[] }; selector: 'page-addon-mod-forum-discussion', templateUrl: 'discussion.html', styleUrl: 'discussion.scss', + standalone: true, + imports: [ + CoreSharedModule, + AddonModForumPostComponent, + ], }) export class AddonModForumDiscussionPage implements OnInit, AfterViewInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/forum/pages/index/index.ts b/src/addons/mod/forum/pages/index/index.ts index d917ce243af..1f454863668 100644 --- a/src/addons/mod/forum/pages/index/index.ts +++ b/src/addons/mod/forum/pages/index/index.ts @@ -16,10 +16,16 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModForumIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; @Component({ selector: 'page-addon-mod-forum-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModForumIndexComponent, + ], }) export class AddonModForumIndexPage extends CoreCourseModuleMainActivityPage { 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 20e5bbbafe7..8cb80e18c66 100644 --- a/src/addons/mod/forum/pages/new-discussion/new-discussion.ts +++ b/src/addons/mod/forum/pages/new-discussion/new-discussion.ts @@ -54,6 +54,8 @@ 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'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; type NewDiscussionData = { subject: string; @@ -72,6 +74,11 @@ type NewDiscussionData = { selector: 'page-addon-mod-forum-new-discussion', templateUrl: 'new-discussion.html', styleUrl: 'new-discussion.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModForumNewDiscussionPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/forum/pages/search/search.ts b/src/addons/mod/forum/pages/search/search.ts index a79612d0b2b..8610d38f5ec 100644 --- a/src/addons/mod/forum/pages/search/search.ts +++ b/src/addons/mod/forum/pages/search/search.ts @@ -32,10 +32,17 @@ import { Translate } from '@singletons'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreLoadings } from '@services/overlays/loadings'; +import { CoreSearchComponentsModule } from '@features/search/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; @Component({ selector: 'page-addon-mod-forum-search', templateUrl: 'search.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreSearchComponentsModule, + ], }) export class AddonModForumSearchPage implements OnInit { diff --git a/src/addons/mod/glossary/components/components.module.ts b/src/addons/mod/glossary/components/components.module.ts index 1faa316e233..63e0bc86219 100644 --- a/src/addons/mod/glossary/components/components.module.ts +++ b/src/addons/mod/glossary/components/components.module.ts @@ -19,13 +19,11 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { CoreSearchComponentsModule } from '@features/search/components/components.module'; @NgModule({ - declarations: [ - AddonModGlossaryIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, CoreSearchComponentsModule, + AddonModGlossaryIndexComponent, ], exports: [ AddonModGlossaryIndexComponent, diff --git a/src/addons/mod/glossary/components/index/index.ts b/src/addons/mod/glossary/components/index/index.ts index c83e48f5a37..df68d406362 100644 --- a/src/addons/mod/glossary/components/index/index.ts +++ b/src/addons/mod/glossary/components/index/index.ts @@ -59,6 +59,9 @@ import { } from '../../constants'; import { CorePopovers } from '@services/overlays/popovers'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSearchComponentsModule } from '@features/search/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a glossary entry page. @@ -67,6 +70,12 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-glossary-index', templateUrl: 'addon-mod-glossary-index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreSearchComponentsModule, + CoreCourseComponentsModule, + ], }) export class AddonModGlossaryIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, AfterViewInit, OnDestroy { diff --git a/src/addons/mod/glossary/glossary-edit-lazy.module.ts b/src/addons/mod/glossary/glossary-edit-lazy.module.ts index acc79104c7b..f22ab1efd3f 100644 --- a/src/addons/mod/glossary/glossary-edit-lazy.module.ts +++ b/src/addons/mod/glossary/glossary-edit-lazy.module.ts @@ -26,13 +26,11 @@ const routes: Routes = [{ }]; @NgModule({ - declarations: [ - AddonModGlossaryEditPage, - ], imports: [ RouterModule.forChild(routes), CoreSharedModule, CoreEditorComponentsModule, + AddonModGlossaryEditPage, ], }) export default class AddonModGlossaryEditLazyModule {} diff --git a/src/addons/mod/glossary/glossary-entry-lazy.module.ts b/src/addons/mod/glossary/glossary-entry-lazy.module.ts index 3e012147e6f..84ecfe99deb 100644 --- a/src/addons/mod/glossary/glossary-entry-lazy.module.ts +++ b/src/addons/mod/glossary/glossary-entry-lazy.module.ts @@ -26,15 +26,13 @@ const routes: Routes = [{ }]; @NgModule({ - declarations: [ - AddonModGlossaryEntryPage, - ], imports: [ RouterModule.forChild(routes), CoreSharedModule, CoreCommentsComponentsModule, CoreRatingComponentsModule, CoreTagComponentsModule, + AddonModGlossaryEntryPage, ], }) export default class AddonModGlossaryEntryLazyModule {} diff --git a/src/addons/mod/glossary/glossary-lazy.module.ts b/src/addons/mod/glossary/glossary-lazy.module.ts index a9b93b0489a..86f91440e03 100644 --- a/src/addons/mod/glossary/glossary-lazy.module.ts +++ b/src/addons/mod/glossary/glossary-lazy.module.ts @@ -63,8 +63,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModGlossaryComponentsModule, - ], - declarations: [ AddonModGlossaryIndexPage, ], }) diff --git a/src/addons/mod/glossary/pages/edit/edit.ts b/src/addons/mod/glossary/pages/edit/edit.ts index 65be7888b74..7ae0b25ff55 100644 --- a/src/addons/mod/glossary/pages/edit/edit.ts +++ b/src/addons/mod/glossary/pages/edit/edit.ts @@ -41,6 +41,8 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { ADDON_MOD_GLOSSARY_COMPONENT } from '../../constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the edit form. @@ -48,6 +50,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-glossary-edit', templateUrl: 'edit.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModGlossaryEditPage implements OnInit, CanLeave { diff --git a/src/addons/mod/glossary/pages/entry/entry.ts b/src/addons/mod/glossary/pages/entry/entry.ts index 7da33868af7..34e426c16db 100644 --- a/src/addons/mod/glossary/pages/entry/entry.ts +++ b/src/addons/mod/glossary/pages/entry/entry.ts @@ -42,6 +42,10 @@ 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'; +import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; +import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; +import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a glossary entry. @@ -49,6 +53,13 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-glossary-entry', templateUrl: 'entry.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreTagComponentsModule, + CoreCommentsComponentsModule, + CoreRatingComponentsModule, + ], }) export class AddonModGlossaryEntryPage implements OnInit, OnDestroy { diff --git a/src/addons/mod/glossary/pages/index/index.ts b/src/addons/mod/glossary/pages/index/index.ts index 23b135fa3b8..6f805c1833e 100644 --- a/src/addons/mod/glossary/pages/index/index.ts +++ b/src/addons/mod/glossary/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModGlossaryIndexComponent } from '../../components/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a glossary. @@ -22,6 +23,11 @@ import { AddonModGlossaryIndexComponent } from '../../components/index'; @Component({ selector: 'page-addon-mod-glossary-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModGlossaryIndexComponent, + ], }) export class AddonModGlossaryIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/h5pactivity/components/components.module.ts b/src/addons/mod/h5pactivity/components/components.module.ts index 4147400cccc..f1055192bf5 100644 --- a/src/addons/mod/h5pactivity/components/components.module.ts +++ b/src/addons/mod/h5pactivity/components/components.module.ts @@ -20,13 +20,11 @@ import { AddonModH5PActivityIndexComponent } from './index'; import { CoreH5PComponentsModule } from '@features/h5p/components/components.module'; @NgModule({ - declarations: [ - AddonModH5PActivityIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, CoreH5PComponentsModule, + AddonModH5PActivityIndexComponent, ], exports: [ AddonModH5PActivityIndexComponent, diff --git a/src/addons/mod/h5pactivity/components/index/index.ts b/src/addons/mod/h5pactivity/components/index/index.ts index e6708a1f764..7548256158a 100644 --- a/src/addons/mod/h5pactivity/components/index/index.ts +++ b/src/addons/mod/h5pactivity/components/index/index.ts @@ -14,7 +14,6 @@ import { Component, Optional, OnInit, OnDestroy, Output, EventEmitter } from '@angular/core'; 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'; @@ -59,6 +58,9 @@ import { NgZone, Translate } from '@singletons'; import { CoreError } from '@classes/errors/error'; import { CoreErrorHelper } from '@services/error-helper'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreH5PComponentsModule } from '@features/h5p/components/components.module'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays an H5P activity entry page. @@ -66,6 +68,12 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'addon-mod-h5pactivity-index', templateUrl: 'addon-mod-h5pactivity-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + CoreH5PComponentsModule, + ], }) export class AddonModH5PActivityIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/h5pactivity/h5pactivity-lazy.module.ts b/src/addons/mod/h5pactivity/h5pactivity-lazy.module.ts index a4c5c2aefc0..b614ddda775 100644 --- a/src/addons/mod/h5pactivity/h5pactivity-lazy.module.ts +++ b/src/addons/mod/h5pactivity/h5pactivity-lazy.module.ts @@ -48,8 +48,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModH5PActivityComponentsModule, - ], - declarations: [ AddonModH5PActivityIndexPage, AddonModH5PActivityUserAttemptsPage, AddonModH5PActivityAttemptResultsPage, diff --git a/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.ts b/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.ts index 0cd892bf0aa..3bf08aa21ba 100644 --- a/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.ts +++ b/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.ts @@ -26,6 +26,7 @@ import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { ADDON_MOD_H5PACTIVITY_COMPONENT } from '../../constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays results of an attempt. @@ -34,6 +35,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-h5pactivity-attempt-results', templateUrl: 'attempt-results.html', styleUrl: 'attempt-results.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModH5PActivityAttemptResultsPage implements OnInit { diff --git a/src/addons/mod/h5pactivity/pages/index/index.ts b/src/addons/mod/h5pactivity/pages/index/index.ts index 9a3c1693407..a27599066f0 100644 --- a/src/addons/mod/h5pactivity/pages/index/index.ts +++ b/src/addons/mod/h5pactivity/pages/index/index.ts @@ -18,6 +18,7 @@ import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main- import { CanLeave } from '@guards/can-leave'; import { AddonModH5PActivityIndexComponent } from '../../components/index'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays an H5P activity. @@ -25,6 +26,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-h5pactivity-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModH5PActivityIndexComponent, + ], }) export class AddonModH5PActivityIndexPage extends CoreCourseModuleMainActivityPage implements CanLeave, OnDestroy { diff --git a/src/addons/mod/h5pactivity/pages/user-attempts/user-attempts.ts b/src/addons/mod/h5pactivity/pages/user-attempts/user-attempts.ts index 1fbf891e784..343bc1169fb 100644 --- a/src/addons/mod/h5pactivity/pages/user-attempts/user-attempts.ts +++ b/src/addons/mod/h5pactivity/pages/user-attempts/user-attempts.ts @@ -27,6 +27,7 @@ import { import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays user attempts of a certain user. @@ -35,6 +36,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-h5pactivity-user-attempts', templateUrl: 'user-attempts.html', styleUrl: 'user-attempts.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModH5PActivityUserAttemptsPage implements OnInit { diff --git a/src/addons/mod/h5pactivity/pages/users-attempts/users-attempts.ts b/src/addons/mod/h5pactivity/pages/users-attempts/users-attempts.ts index 716c60f1bf9..5479ed39337 100644 --- a/src/addons/mod/h5pactivity/pages/users-attempts/users-attempts.ts +++ b/src/addons/mod/h5pactivity/pages/users-attempts/users-attempts.ts @@ -26,6 +26,7 @@ import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { AddonModH5PActivityGradeMethod } from '../../constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays all users that can attempt an H5P activity. @@ -34,6 +35,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-h5pactivity-users-attempts', templateUrl: 'users-attempts.html', styleUrl: 'users-attempts.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModH5PActivityUsersAttemptsPage implements OnInit { diff --git a/src/addons/mod/imscp/components/components.module.ts b/src/addons/mod/imscp/components/components.module.ts index de14a9f5a2a..22d113923fc 100644 --- a/src/addons/mod/imscp/components/components.module.ts +++ b/src/addons/mod/imscp/components/components.module.ts @@ -20,12 +20,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModImscpIndexComponent } from './index'; @NgModule({ - declarations: [ - AddonModImscpIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModImscpIndexComponent, ], exports: [ AddonModImscpIndexComponent, diff --git a/src/addons/mod/imscp/components/index/index.ts b/src/addons/mod/imscp/components/index/index.ts index a2d43848713..d58b0c7fe7d 100644 --- a/src/addons/mod/imscp/components/index/index.ts +++ b/src/addons/mod/imscp/components/index/index.ts @@ -20,6 +20,8 @@ import { CoreNavigator } from '@services/navigator'; import { AddonModImscp, AddonModImscpTocItem } from '../../services/imscp'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { ADDON_MOD_IMSCP_COMPONENT, ADDON_MOD_IMSCP_PAGE_NAME } from '../../constants'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a IMSCP. @@ -28,6 +30,11 @@ import { ADDON_MOD_IMSCP_COMPONENT, ADDON_MOD_IMSCP_PAGE_NAME } from '../../cons selector: 'addon-mod-imscp-index', templateUrl: 'addon-mod-imscp-index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModImscpIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit { diff --git a/src/addons/mod/imscp/imscp-lazy.module.ts b/src/addons/mod/imscp/imscp-lazy.module.ts index 1bcde4c272b..387d10abef0 100644 --- a/src/addons/mod/imscp/imscp-lazy.module.ts +++ b/src/addons/mod/imscp/imscp-lazy.module.ts @@ -36,8 +36,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModImscpComponentsModule, - ], - declarations: [ AddonModImscpIndexPage, AddonModImscpViewPage, ], diff --git a/src/addons/mod/imscp/pages/index/index.ts b/src/addons/mod/imscp/pages/index/index.ts index d12a1a94ebf..41d70b16d7a 100644 --- a/src/addons/mod/imscp/pages/index/index.ts +++ b/src/addons/mod/imscp/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModImscpIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Imscp that displays a IMSCP. @@ -22,6 +23,11 @@ import { AddonModImscpIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-imscp-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModImscpIndexComponent, + ], }) export class AddonModImscpIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/imscp/pages/view/view.ts b/src/addons/mod/imscp/pages/view/view.ts index 6a891c3b53e..72dece3ea67 100644 --- a/src/addons/mod/imscp/pages/view/view.ts +++ b/src/addons/mod/imscp/pages/view/view.ts @@ -28,6 +28,7 @@ import { Translate } from '@singletons'; import { AddonModImscp, AddonModImscpImscp, AddonModImscpTocItem } from '../../services/imscp'; import { CoreModals } from '@services/overlays/modals'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a IMSCP content. @@ -35,6 +36,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-imscp-view', templateUrl: 'view.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModImscpViewPage implements OnInit { diff --git a/src/addons/mod/lesson/components/components.module.ts b/src/addons/mod/lesson/components/components.module.ts index 6822ef34b09..97f73d112ed 100644 --- a/src/addons/mod/lesson/components/components.module.ts +++ b/src/addons/mod/lesson/components/components.module.ts @@ -19,12 +19,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModLessonIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModLessonIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModLessonIndexComponent, ], exports: [ AddonModLessonIndexComponent, diff --git a/src/addons/mod/lesson/components/index/index.ts b/src/addons/mod/lesson/components/index/index.ts index ecf708ad83f..5635625855c 100644 --- a/src/addons/mod/lesson/components/index/index.ts +++ b/src/addons/mod/lesson/components/index/index.ts @@ -52,6 +52,8 @@ import { ADDON_MOD_LESSON_PAGE_NAME, } from '../../constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a lesson entry page. @@ -59,6 +61,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'addon-mod-lesson-index', templateUrl: 'addon-mod-lesson-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModLessonIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/lesson/lesson-lazy.module.ts b/src/addons/mod/lesson/lesson-lazy.module.ts index b34ec566771..f3c9a68324b 100644 --- a/src/addons/mod/lesson/lesson-lazy.module.ts +++ b/src/addons/mod/lesson/lesson-lazy.module.ts @@ -46,8 +46,6 @@ const routes: Routes = [ CoreSharedModule, CoreEditorComponentsModule, AddonModLessonComponentsModule, - ], - declarations: [ AddonModLessonIndexPage, AddonModLessonPlayerPage, AddonModLessonUserRetakePage, diff --git a/src/addons/mod/lesson/pages/index/index.ts b/src/addons/mod/lesson/pages/index/index.ts index 96f8b121e85..c2099e21f25 100644 --- a/src/addons/mod/lesson/pages/index/index.ts +++ b/src/addons/mod/lesson/pages/index/index.ts @@ -16,6 +16,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { CoreNavigator } from '@services/navigator'; import { AddonModLessonIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the lesson entry page. @@ -23,6 +24,11 @@ import { AddonModLessonIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-lesson-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModLessonIndexComponent, + ], }) export class AddonModLessonIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { diff --git a/src/addons/mod/lesson/pages/player/player.ts b/src/addons/mod/lesson/pages/player/player.ts index 7d64ce768eb..b4b844485cf 100644 --- a/src/addons/mod/lesson/pages/player/player.ts +++ b/src/addons/mod/lesson/pages/player/player.ts @@ -15,7 +15,6 @@ import { Component, OnInit, OnDestroy, ViewChild, ChangeDetectorRef, ElementRef } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; import { IonContent } from '@ionic/angular'; - import { CoreError } from '@classes/errors/error'; import { CanLeave } from '@guards/can-leave'; import { CoreNetwork } from '@services/network'; @@ -58,6 +57,8 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreDom } from '@singletons/dom'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that allows attempting and reviewing a lesson. @@ -66,6 +67,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-lesson-player', templateUrl: 'player.html', styleUrl: 'player.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModLessonPlayerPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/lesson/pages/user-retake/user-retake.ts b/src/addons/mod/lesson/pages/user-retake/user-retake.ts index 875792da313..3d9b94ce173 100644 --- a/src/addons/mod/lesson/pages/user-retake/user-retake.ts +++ b/src/addons/mod/lesson/pages/user-retake/user-retake.ts @@ -36,6 +36,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { ADDON_MOD_LESSON_COMPONENT } from '../../constants'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a retake made by a certain user. @@ -44,6 +45,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-lesson-user-retake', templateUrl: 'user-retake.html', styleUrl: 'user-retake.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModLessonUserRetakePage implements OnInit { diff --git a/src/addons/mod/lti/components/components.module.ts b/src/addons/mod/lti/components/components.module.ts index 27ae3a4f2fe..9d4461bd88b 100644 --- a/src/addons/mod/lti/components/components.module.ts +++ b/src/addons/mod/lti/components/components.module.ts @@ -19,12 +19,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModLtiIndexComponent } from './index'; @NgModule({ - declarations: [ - AddonModLtiIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModLtiIndexComponent, ], exports: [ AddonModLtiIndexComponent, diff --git a/src/addons/mod/lti/components/index/index.ts b/src/addons/mod/lti/components/index/index.ts index 5cae00a7479..bed3757e345 100644 --- a/src/addons/mod/lti/components/index/index.ts +++ b/src/addons/mod/lti/components/index/index.ts @@ -14,12 +14,13 @@ 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 { AddonModLti, AddonModLtiLti } from '../../services/lti'; import { AddonModLtiHelper } from '../../services/lti-helper'; import { ADDON_MOD_LTI_COMPONENT } from '../../constants'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays an LTI entry page. @@ -27,6 +28,11 @@ import { ADDON_MOD_LTI_COMPONENT } from '../../constants'; @Component({ selector: 'addon-mod-lti-index', templateUrl: 'addon-mod-lti-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModLtiIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/lti/lti-lazy.module.ts b/src/addons/mod/lti/lti-lazy.module.ts index e1419e8520c..f2922aa6e12 100644 --- a/src/addons/mod/lti/lti-lazy.module.ts +++ b/src/addons/mod/lti/lti-lazy.module.ts @@ -30,8 +30,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModLtiComponentsModule, - ], - declarations: [ AddonModLtiIndexPage, ], }) diff --git a/src/addons/mod/lti/pages/index/index.ts b/src/addons/mod/lti/pages/index/index.ts index a19c7515b6c..0c28d4e2a2e 100644 --- a/src/addons/mod/lti/pages/index/index.ts +++ b/src/addons/mod/lti/pages/index/index.ts @@ -16,6 +16,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModLtiIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays an LTI. @@ -23,6 +24,11 @@ import { AddonModLtiIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-lti-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModLtiIndexComponent, + ], }) export class AddonModLtiIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/page/components/components.module.ts b/src/addons/mod/page/components/components.module.ts index 2cbb451855f..11367b7c62e 100644 --- a/src/addons/mod/page/components/components.module.ts +++ b/src/addons/mod/page/components/components.module.ts @@ -20,12 +20,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModPageIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModPageIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModPageIndexComponent, ], exports: [ AddonModPageIndexComponent, diff --git a/src/addons/mod/page/components/index/index.ts b/src/addons/mod/page/components/index/index.ts index 2fb49068a56..560ed7f4b47 100644 --- a/src/addons/mod/page/components/index/index.ts +++ b/src/addons/mod/page/components/index/index.ts @@ -21,6 +21,8 @@ import { AddonModPagePage, AddonModPage } from '../../services/page'; import { AddonModPageHelper } from '../../services/page-helper'; import { ADDON_MOD_PAGE_COMPONENT } from '../../constants'; import { CorePromiseUtils } from '@singletons/promise-utils'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a page. @@ -28,6 +30,11 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; @Component({ selector: 'addon-mod-page-index', templateUrl: 'addon-mod-page-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModPageIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit { diff --git a/src/addons/mod/page/page-lazy.module.ts b/src/addons/mod/page/page-lazy.module.ts index 9b9fd02ac85..4b61c1581b1 100644 --- a/src/addons/mod/page/page-lazy.module.ts +++ b/src/addons/mod/page/page-lazy.module.ts @@ -31,8 +31,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModPageComponentsModule, - ], - declarations: [ AddonModPageIndexPage, ], }) diff --git a/src/addons/mod/page/pages/index/index.ts b/src/addons/mod/page/pages/index/index.ts index 67c51352590..feafeb3d42c 100644 --- a/src/addons/mod/page/pages/index/index.ts +++ b/src/addons/mod/page/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModPageIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a page. @@ -22,6 +23,11 @@ import { AddonModPageIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-page-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModPageIndexComponent, + ], }) export class AddonModPageIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/quiz/accessrules/offlineattempts/component/offlineattempts.ts b/src/addons/mod/quiz/accessrules/offlineattempts/component/offlineattempts.ts index bcf26e13718..c9af1ec36a0 100644 --- a/src/addons/mod/quiz/accessrules/offlineattempts/component/offlineattempts.ts +++ b/src/addons/mod/quiz/accessrules/offlineattempts/component/offlineattempts.ts @@ -17,6 +17,7 @@ import { AddonModQuizAttemptWSData, AddonModQuizQuizWSData } from '@addons/mod/q import { AddonModQuizSync } from '@addons/mod/quiz/services/quiz-sync'; import { Component, OnInit, Input } from '@angular/core'; import { FormGroup, FormBuilder } from '@angular/forms'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render the preflight for offline attempts. @@ -24,6 +25,10 @@ import { FormGroup, FormBuilder } from '@angular/forms'; @Component({ selector: 'addon-mod-quiz-access-offline-attempts', templateUrl: 'addon-mod-quiz-access-offline-attempts.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModQuizAccessOfflineAttemptsComponent implements OnInit { diff --git a/src/addons/mod/quiz/accessrules/offlineattempts/offlineattempts.module.ts b/src/addons/mod/quiz/accessrules/offlineattempts/offlineattempts.module.ts index ad07f27f794..8f4263d7a68 100644 --- a/src/addons/mod/quiz/accessrules/offlineattempts/offlineattempts.module.ts +++ b/src/addons/mod/quiz/accessrules/offlineattempts/offlineattempts.module.ts @@ -20,11 +20,9 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { AddonModQuizAccessOfflineAttemptsHandler } from './services/handlers/offlineattempts'; @NgModule({ - declarations: [ - AddonModQuizAccessOfflineAttemptsComponent, - ], imports: [ CoreSharedModule, + AddonModQuizAccessOfflineAttemptsComponent, ], providers: [ { diff --git a/src/addons/mod/quiz/accessrules/password/component/password.ts b/src/addons/mod/quiz/accessrules/password/component/password.ts index 65e3215dcbc..9baf7a92ebb 100644 --- a/src/addons/mod/quiz/accessrules/password/component/password.ts +++ b/src/addons/mod/quiz/accessrules/password/component/password.ts @@ -17,6 +17,7 @@ import { FormGroup, FormBuilder } from '@angular/forms'; import { AddonModQuizAttemptWSData, AddonModQuizQuizWSData } from '@addons/mod/quiz/services/quiz'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render the preflight for password. @@ -24,6 +25,10 @@ import { toBoolean } from '@/core/transforms/boolean'; @Component({ selector: 'addon-mod-quiz-access-password', templateUrl: 'addon-mod-quiz-access-password.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModQuizAccessPasswordComponent implements OnInit { diff --git a/src/addons/mod/quiz/accessrules/password/password.module.ts b/src/addons/mod/quiz/accessrules/password/password.module.ts index 58570654ba9..fc12ec9a4bd 100644 --- a/src/addons/mod/quiz/accessrules/password/password.module.ts +++ b/src/addons/mod/quiz/accessrules/password/password.module.ts @@ -22,11 +22,9 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { SITE_SCHEMA } from './services/database/password'; @NgModule({ - declarations: [ - AddonModQuizAccessPasswordComponent, - ], imports: [ CoreSharedModule, + AddonModQuizAccessPasswordComponent, ], providers: [ { diff --git a/src/addons/mod/quiz/accessrules/timelimit/component/timelimit.ts b/src/addons/mod/quiz/accessrules/timelimit/component/timelimit.ts index b702e889adb..b56fd823826 100644 --- a/src/addons/mod/quiz/accessrules/timelimit/component/timelimit.ts +++ b/src/addons/mod/quiz/accessrules/timelimit/component/timelimit.ts @@ -18,6 +18,7 @@ import { FormGroup } from '@angular/forms'; import { AddonModQuizAttemptWSData, AddonModQuizQuizWSData } from '@addons/mod/quiz/services/quiz'; import { CoreTime } from '@singletons/time'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render the preflight for time limit. @@ -25,6 +26,10 @@ import { toBoolean } from '@/core/transforms/boolean'; @Component({ selector: 'addon-mod-quiz-access-time-limit', templateUrl: 'addon-mod-quiz-access-time-limit.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModQuizAccessTimeLimitComponent implements OnInit { diff --git a/src/addons/mod/quiz/accessrules/timelimit/timelimit.module.ts b/src/addons/mod/quiz/accessrules/timelimit/timelimit.module.ts index 4fae54f5eed..37e2a64df06 100644 --- a/src/addons/mod/quiz/accessrules/timelimit/timelimit.module.ts +++ b/src/addons/mod/quiz/accessrules/timelimit/timelimit.module.ts @@ -20,11 +20,9 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { AddonModQuizAccessTimeLimitHandler } from './services/handlers/timelimit'; @NgModule({ - declarations: [ - AddonModQuizAccessTimeLimitComponent, - ], imports: [ CoreSharedModule, + AddonModQuizAccessTimeLimitComponent, ], providers: [ { diff --git a/src/addons/mod/quiz/components/attempt-info/attempt-info.ts b/src/addons/mod/quiz/components/attempt-info/attempt-info.ts index 4e6ef30c63f..4f7c3458cd9 100644 --- a/src/addons/mod/quiz/components/attempt-info/attempt-info.ts +++ b/src/addons/mod/quiz/components/attempt-info/attempt-info.ts @@ -20,6 +20,8 @@ import { CoreTime } from '@singletons/time'; import { Translate } from '@singletons'; import { CoreDomUtils } from '@services/utils/dom'; import { isSafeNumber } from '@/core/utils/types'; +import { AddonModQuizAttemptStateComponent } from '../attempt-state/attempt-state'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays an attempt info. @@ -27,6 +29,11 @@ import { isSafeNumber } from '@/core/utils/types'; @Component({ selector: 'addon-mod-quiz-attempt-info', templateUrl: 'attempt-info.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModQuizAttemptStateComponent, + ], }) export class AddonModQuizAttemptInfoComponent implements OnChanges { diff --git a/src/addons/mod/quiz/components/attempt-state/attempt-state.ts b/src/addons/mod/quiz/components/attempt-state/attempt-state.ts index 1220361a0ef..98fea9a5de8 100644 --- a/src/addons/mod/quiz/components/attempt-state/attempt-state.ts +++ b/src/addons/mod/quiz/components/attempt-state/attempt-state.ts @@ -15,6 +15,7 @@ import { Component, Input, OnChanges } from '@angular/core'; import { AddonModQuiz } from '../../services/quiz'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays an attempt state. @@ -23,6 +24,10 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'addon-mod-quiz-attempt-state', templateUrl: 'attempt-state.html', styleUrl: 'attempt-state.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModQuizAttemptStateComponent implements OnChanges { diff --git a/src/addons/mod/quiz/components/components.module.ts b/src/addons/mod/quiz/components/components.module.ts index ddb538cc214..6303da5aadc 100644 --- a/src/addons/mod/quiz/components/components.module.ts +++ b/src/addons/mod/quiz/components/components.module.ts @@ -22,22 +22,19 @@ import { AddonModQuizAttemptStateComponent } from './attempt-state/attempt-state import { AddonModQuizQuestionCardComponent } from './question-card/question-card'; @NgModule({ - declarations: [ + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, AddonModQuizAttemptInfoComponent, AddonModQuizAttemptStateComponent, AddonModQuizIndexComponent, AddonModQuizQuestionCardComponent, ], - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - ], exports: [ AddonModQuizAttemptInfoComponent, AddonModQuizAttemptStateComponent, AddonModQuizIndexComponent, AddonModQuizQuestionCardComponent, - ], }) export class AddonModQuizComponentsModule {} diff --git a/src/addons/mod/quiz/components/index/index.ts b/src/addons/mod/quiz/components/index/index.ts index 112f1af1b07..a5fa42641f1 100644 --- a/src/addons/mod/quiz/components/index/index.ts +++ b/src/addons/mod/quiz/components/index/index.ts @@ -51,6 +51,10 @@ import { } from '../../constants'; import { QuestionDisplayOptionsMarks } from '@features/question/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { AddonModQuizAttemptInfoComponent } from '../attempt-info/attempt-info'; +import { AddonModQuizAttemptStateComponent } from '../attempt-state/attempt-state'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a quiz entry page. @@ -59,6 +63,13 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-quiz-index', templateUrl: 'addon-mod-quiz-index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + AddonModQuizAttemptStateComponent, + AddonModQuizAttemptInfoComponent, + ], }) export class AddonModQuizIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/quiz/components/question-card/question-card.ts b/src/addons/mod/quiz/components/question-card/question-card.ts index b89c912cb4a..0c90aabe35b 100644 --- a/src/addons/mod/quiz/components/question-card/question-card.ts +++ b/src/addons/mod/quiz/components/question-card/question-card.ts @@ -14,6 +14,7 @@ import { Component, Input } from '@angular/core'; import { CoreQuestionQuestionForView } from '@features/question/services/question'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a question card. @@ -22,6 +23,10 @@ import { CoreQuestionQuestionForView } from '@features/question/services/questio selector: 'addon-mod-quiz-question-card', templateUrl: 'question-card.html', styleUrl: 'question-card.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModQuizQuestionCardComponent { diff --git a/src/addons/mod/quiz/pages/index/index.ts b/src/addons/mod/quiz/pages/index/index.ts index c62d32e1b01..1b347d87c00 100644 --- a/src/addons/mod/quiz/pages/index/index.ts +++ b/src/addons/mod/quiz/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModQuizIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the quiz entry page. @@ -22,6 +23,11 @@ import { AddonModQuizIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-quiz-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModQuizIndexComponent, + ], }) export class AddonModQuizIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/quiz/pages/player/player.ts b/src/addons/mod/quiz/pages/player/player.ts index 3f5fb9325a7..98a1e865908 100644 --- a/src/addons/mod/quiz/pages/player/player.ts +++ b/src/addons/mod/quiz/pages/player/player.ts @@ -55,6 +55,9 @@ import { CoreWait } from '@singletons/wait'; import { CoreModals } from '@services/overlays/modals'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreQuestionComponentsModule } from '@features/question/components/components.module'; +import { AddonModQuizQuestionCardComponent } from '../../components/question-card/question-card'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that allows attempting a quiz. @@ -63,6 +66,12 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-mod-quiz-player', templateUrl: 'player.html', styleUrl: 'player.scss', + standalone: true, + imports: [ + CoreSharedModule, + AddonModQuizQuestionCardComponent, + CoreQuestionComponentsModule, + ], }) export class AddonModQuizPlayerPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/quiz/pages/review/review.ts b/src/addons/mod/quiz/pages/review/review.ts index 44276641630..5a4df68fd70 100644 --- a/src/addons/mod/quiz/pages/review/review.ts +++ b/src/addons/mod/quiz/pages/review/review.ts @@ -37,6 +37,10 @@ import { ADDON_MOD_QUIZ_COMPONENT } from '../../constants'; import { CoreModals } from '@services/overlays/modals'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreQuestionComponentsModule } from '@features/question/components/components.module'; +import { AddonModQuizQuestionCardComponent } from '../../components/question-card/question-card'; +import { AddonModQuizAttemptInfoComponent } from '../../components/attempt-info/attempt-info'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that allows reviewing a quiz attempt. @@ -44,6 +48,13 @@ import { Translate } from '@singletons'; @Component({ selector: 'page-addon-mod-quiz-review', templateUrl: 'review.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModQuizAttemptInfoComponent, + AddonModQuizQuestionCardComponent, + CoreQuestionComponentsModule, + ], }) export class AddonModQuizReviewPage implements OnInit { diff --git a/src/addons/mod/quiz/quiz-lazy.module.ts b/src/addons/mod/quiz/quiz-lazy.module.ts index 1d4c4e0eb80..227b5f5d9d6 100644 --- a/src/addons/mod/quiz/quiz-lazy.module.ts +++ b/src/addons/mod/quiz/quiz-lazy.module.ts @@ -46,8 +46,6 @@ const routes: Routes = [ CoreSharedModule, AddonModQuizComponentsModule, CoreQuestionComponentsModule, - ], - declarations: [ AddonModQuizIndexPage, AddonModQuizPlayerPage, AddonModQuizReviewPage, diff --git a/src/addons/mod/resource/components/components.module.ts b/src/addons/mod/resource/components/components.module.ts index 36d0dee3137..63cef9f9840 100644 --- a/src/addons/mod/resource/components/components.module.ts +++ b/src/addons/mod/resource/components/components.module.ts @@ -20,12 +20,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModResourceIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModResourceIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModResourceIndexComponent, ], exports: [ AddonModResourceIndexComponent, diff --git a/src/addons/mod/resource/components/index/index.ts b/src/addons/mod/resource/components/index/index.ts index 31c79bad0d1..f886aca80ed 100644 --- a/src/addons/mod/resource/components/index/index.ts +++ b/src/addons/mod/resource/components/index/index.ts @@ -36,6 +36,8 @@ import { ADDON_MOD_RESOURCE_COMPONENT } from '../../constants'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { OpenFileAction } from '@singletons/opener'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a resource. @@ -44,6 +46,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-resource-index', templateUrl: 'addon-mod-resource-index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModResourceIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/resource/pages/index/index.ts b/src/addons/mod/resource/pages/index/index.ts index 23f01ad08c3..f9bafdd834a 100644 --- a/src/addons/mod/resource/pages/index/index.ts +++ b/src/addons/mod/resource/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModResourceIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a resource. @@ -22,6 +23,11 @@ import { AddonModResourceIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-resource-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModResourceIndexComponent, + ], }) export class AddonModResourceIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/resource/resource-lazy.module.ts b/src/addons/mod/resource/resource-lazy.module.ts index 6da403f7e71..6792c07777c 100644 --- a/src/addons/mod/resource/resource-lazy.module.ts +++ b/src/addons/mod/resource/resource-lazy.module.ts @@ -30,8 +30,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModResourceComponentsModule, - ], - declarations: [ AddonModResourceIndexPage, ], }) diff --git a/src/addons/mod/scorm/components/components.module.ts b/src/addons/mod/scorm/components/components.module.ts index a93ced36130..201d72b43e9 100644 --- a/src/addons/mod/scorm/components/components.module.ts +++ b/src/addons/mod/scorm/components/components.module.ts @@ -18,12 +18,10 @@ import { CoreSharedModule } from '@/core/shared.module'; import { CoreCourseComponentsModule } from '@features/course/components/components.module'; @NgModule({ - declarations: [ - AddonModScormIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModScormIndexComponent, ], exports: [ AddonModScormIndexComponent, diff --git a/src/addons/mod/scorm/components/index/index.ts b/src/addons/mod/scorm/components/index/index.ts index 1967d6393df..8639954040a 100644 --- a/src/addons/mod/scorm/components/index/index.ts +++ b/src/addons/mod/scorm/components/index/index.ts @@ -53,6 +53,8 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreNetwork } from '@services/network'; import { Subscription } from 'rxjs'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a SCORM entry page. @@ -61,6 +63,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-scorm-index', templateUrl: 'addon-mod-scorm-index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModScormIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/scorm/pages/index/index.ts b/src/addons/mod/scorm/pages/index/index.ts index 17bc2fc615f..1cfcb2f878e 100644 --- a/src/addons/mod/scorm/pages/index/index.ts +++ b/src/addons/mod/scorm/pages/index/index.ts @@ -16,6 +16,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { CoreNavigator } from '@services/navigator'; import { AddonModScormAutoPlayData, AddonModScormIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the scorm entry page. @@ -23,6 +24,11 @@ import { AddonModScormAutoPlayData, AddonModScormIndexComponent } from '../../co @Component({ selector: 'page-addon-mod-scorm-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModScormIndexComponent, + ], }) export class AddonModScormIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { diff --git a/src/addons/mod/scorm/pages/player/player.ts b/src/addons/mod/scorm/pages/player/player.ts index daa4b153477..fc39bf35ef9 100644 --- a/src/addons/mod/scorm/pages/player/player.ts +++ b/src/addons/mod/scorm/pages/player/player.ts @@ -44,6 +44,7 @@ import { CoreWait } from '@singletons/wait'; import { CoreModals } from '@services/overlays/modals'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that allows playing a SCORM. @@ -51,6 +52,10 @@ import { Translate } from '@singletons'; @Component({ selector: 'page-addon-mod-scorm-player', templateUrl: 'player.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModScormPlayerPage implements OnInit, OnDestroy { diff --git a/src/addons/mod/scorm/scorm-lazy.module.ts b/src/addons/mod/scorm/scorm-lazy.module.ts index 03c8fb0acd8..3e3b177530a 100644 --- a/src/addons/mod/scorm/scorm-lazy.module.ts +++ b/src/addons/mod/scorm/scorm-lazy.module.ts @@ -40,8 +40,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModScormComponentsModule, - ], - declarations: [ AddonModScormIndexPage, AddonModScormPlayerPage, ], diff --git a/src/addons/mod/survey/components/components.module.ts b/src/addons/mod/survey/components/components.module.ts index 22bde845b94..dbbb79273ca 100644 --- a/src/addons/mod/survey/components/components.module.ts +++ b/src/addons/mod/survey/components/components.module.ts @@ -18,12 +18,10 @@ import { CoreSharedModule } from '@/core/shared.module'; import { CoreCourseComponentsModule } from '@features/course/components/components.module'; @NgModule({ - declarations: [ - AddonModSurveyIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModSurveyIndexComponent, ], exports: [ AddonModSurveyIndexComponent, diff --git a/src/addons/mod/survey/components/index/index.ts b/src/addons/mod/survey/components/index/index.ts index c76765b19df..bc8815bc8a3 100644 --- a/src/addons/mod/survey/components/index/index.ts +++ b/src/addons/mod/survey/components/index/index.ts @@ -39,6 +39,8 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { ADDON_MOD_SURVEY_AUTO_SYNCED, ADDON_MOD_SURVEY_COMPONENT } from '../../constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a survey. @@ -47,6 +49,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-survey-index', templateUrl: 'addon-mod-survey-index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModSurveyIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/survey/pages/index/index.ts b/src/addons/mod/survey/pages/index/index.ts index 68d8aa5219e..cecc93f5743 100644 --- a/src/addons/mod/survey/pages/index/index.ts +++ b/src/addons/mod/survey/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModSurveyIndexComponent } from '../../components/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a survey. @@ -22,6 +23,11 @@ import { AddonModSurveyIndexComponent } from '../../components/index'; @Component({ selector: 'page-addon-mod-survey-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModSurveyIndexComponent, + ], }) export class AddonModSurveyIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/survey/survey-lazy.module.ts b/src/addons/mod/survey/survey-lazy.module.ts index ff8a578d0e3..eb7fe6107d2 100644 --- a/src/addons/mod/survey/survey-lazy.module.ts +++ b/src/addons/mod/survey/survey-lazy.module.ts @@ -31,8 +31,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModSurveyComponentsModule, - ], - declarations: [ AddonModSurveyIndexPage, ], }) diff --git a/src/addons/mod/url/components/components.module.ts b/src/addons/mod/url/components/components.module.ts index b28ac2555fb..0ed938d2b40 100644 --- a/src/addons/mod/url/components/components.module.ts +++ b/src/addons/mod/url/components/components.module.ts @@ -20,12 +20,10 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen import { AddonModUrlIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModUrlIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, + AddonModUrlIndexComponent, ], exports: [ AddonModUrlIndexComponent, diff --git a/src/addons/mod/url/components/index/index.ts b/src/addons/mod/url/components/index/index.ts index c4a2ea271b3..94acca6a7b7 100644 --- a/src/addons/mod/url/components/index/index.ts +++ b/src/addons/mod/url/components/index/index.ts @@ -24,6 +24,8 @@ import { AddonModUrl, AddonModUrlDisplayOptions, AddonModUrlUrl } from '../../se import { AddonModUrlHelper } from '../../services/url-helper'; import { ADDON_MOD_URL_COMPONENT } from '../../constants'; import { CoreSites } from '@services/sites'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a url. @@ -32,6 +34,11 @@ import { CoreSites } from '@services/sites'; selector: 'addon-mod-url-index', templateUrl: 'addon-mod-url-index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + ], }) export class AddonModUrlIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit { diff --git a/src/addons/mod/url/pages/index/index.ts b/src/addons/mod/url/pages/index/index.ts index 639eb9b089a..172e79d23c6 100644 --- a/src/addons/mod/url/pages/index/index.ts +++ b/src/addons/mod/url/pages/index/index.ts @@ -15,6 +15,7 @@ import { Component, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { AddonModUrlIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a url. @@ -22,6 +23,11 @@ import { AddonModUrlIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-url-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModUrlIndexComponent, + ], }) export class AddonModUrlIndexPage extends CoreCourseModuleMainActivityPage { diff --git a/src/addons/mod/url/url-lazy.module.ts b/src/addons/mod/url/url-lazy.module.ts index 3fa447affb6..4207febc3b3 100644 --- a/src/addons/mod/url/url-lazy.module.ts +++ b/src/addons/mod/url/url-lazy.module.ts @@ -30,8 +30,6 @@ const routes: Routes = [ RouterModule.forChild(routes), CoreSharedModule, AddonModUrlComponentsModule, - ], - declarations: [ AddonModUrlIndexPage, ], }) diff --git a/src/addons/mod/wiki/components/components.module.ts b/src/addons/mod/wiki/components/components.module.ts index 23e3e31ff4b..c113c43082d 100644 --- a/src/addons/mod/wiki/components/components.module.ts +++ b/src/addons/mod/wiki/components/components.module.ts @@ -19,13 +19,11 @@ import { CoreTagComponentsModule } from '@features/tag/components/components.mod import { AddonModWikiIndexComponent } from './index/index'; @NgModule({ - declarations: [ - AddonModWikiIndexComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, CoreTagComponentsModule, + AddonModWikiIndexComponent, ], exports: [ AddonModWikiIndexComponent, diff --git a/src/addons/mod/wiki/components/index/index.ts b/src/addons/mod/wiki/components/index/index.ts index e39c2f65278..6006e9ca38c 100644 --- a/src/addons/mod/wiki/components/index/index.ts +++ b/src/addons/mod/wiki/components/index/index.ts @@ -60,6 +60,9 @@ import { import { CoreModals } from '@services/overlays/modals'; import { CorePopovers } from '@services/overlays/popovers'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a wiki entry page. @@ -68,6 +71,12 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'addon-mod-wiki-index', templateUrl: 'addon-mod-wiki-index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + CoreTagComponentsModule, + ], }) export class AddonModWikiIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/wiki/pages/edit/edit.ts b/src/addons/mod/wiki/pages/edit/edit.ts index 481b424846e..b437a3c23c2 100644 --- a/src/addons/mod/wiki/pages/edit/edit.ts +++ b/src/addons/mod/wiki/pages/edit/edit.ts @@ -34,6 +34,8 @@ import { ADDON_MOD_WIKI_COMPONENT, ADDON_MOD_WIKI_PAGE_CREATED_EVENT, ADDON_MOD_ import { CoreLoadings } from '@services/overlays/loadings'; import { CoreFileHelper } from '@services/file-helper'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that allows adding or editing a wiki page. @@ -41,6 +43,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-wiki-edit', templateUrl: 'edit.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModWikiEditPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/wiki/pages/index/index.ts b/src/addons/mod/wiki/pages/index/index.ts index 34311f8ad47..70335195573 100644 --- a/src/addons/mod/wiki/pages/index/index.ts +++ b/src/addons/mod/wiki/pages/index/index.ts @@ -16,6 +16,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { CoreNavigator } from '@services/navigator'; import { AddonModWikiIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a wiki page. @@ -23,6 +24,11 @@ import { AddonModWikiIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-wiki-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModWikiIndexComponent, + ], }) export class AddonModWikiIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { diff --git a/src/addons/mod/wiki/wiki-lazy.module.ts b/src/addons/mod/wiki/wiki-lazy.module.ts index 268c9f6b16b..cdc1f06d0b2 100644 --- a/src/addons/mod/wiki/wiki-lazy.module.ts +++ b/src/addons/mod/wiki/wiki-lazy.module.ts @@ -43,8 +43,6 @@ const routes: Routes = [ CoreSharedModule, AddonModWikiComponentsModule, CoreEditorComponentsModule, - ], - declarations: [ AddonModWikiIndexPage, AddonModWikiEditPage, ], diff --git a/src/addons/mod/workshop/assessment/accumulative/component/accumulative.ts b/src/addons/mod/workshop/assessment/accumulative/component/accumulative.ts index 24f91288497..f643616ac7f 100644 --- a/src/addons/mod/workshop/assessment/accumulative/component/accumulative.ts +++ b/src/addons/mod/workshop/assessment/accumulative/component/accumulative.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { AddonModWorkshopAssessmentStrategyBaseComponent } from '../../../classes/assessment-strategy-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component for accumulative assessment strategy. @@ -21,5 +22,9 @@ import { AddonModWorkshopAssessmentStrategyBaseComponent } from '../../../classe @Component({ selector: 'addon-mod-workshop-assessment-strategy-accumulative', templateUrl: 'addon-mod-workshop-assessment-strategy-accumulative.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModWorkshopAssessmentStrategyAccumulativeComponent extends AddonModWorkshopAssessmentStrategyBaseComponent { } diff --git a/src/addons/mod/workshop/assessment/assesment-components.module.ts b/src/addons/mod/workshop/assessment/assesment-components.module.ts index f702edacde9..ad4f44c0109 100644 --- a/src/addons/mod/workshop/assessment/assesment-components.module.ts +++ b/src/addons/mod/workshop/assessment/assesment-components.module.ts @@ -22,8 +22,6 @@ import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ imports: [ CoreSharedModule, - ], - declarations: [ AddonModWorkshopAssessmentStrategyAccumulativeComponent, AddonModWorkshopAssessmentStrategyCommentsComponent, AddonModWorkshopAssessmentStrategyNumErrorsComponent, diff --git a/src/addons/mod/workshop/assessment/comments/component/comments.ts b/src/addons/mod/workshop/assessment/comments/component/comments.ts index ebfc620b31f..ddd362e1b95 100644 --- a/src/addons/mod/workshop/assessment/comments/component/comments.ts +++ b/src/addons/mod/workshop/assessment/comments/component/comments.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { AddonModWorkshopAssessmentStrategyBaseComponent } from '../../../classes/assessment-strategy-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component for comments assessment strategy. @@ -21,5 +22,9 @@ import { AddonModWorkshopAssessmentStrategyBaseComponent } from '../../../classe @Component({ selector: 'addon-mod-workshop-assessment-strategy-comments', templateUrl: 'addon-mod-workshop-assessment-strategy-comments.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModWorkshopAssessmentStrategyCommentsComponent extends AddonModWorkshopAssessmentStrategyBaseComponent { } diff --git a/src/addons/mod/workshop/assessment/numerrors/component/numerrors.ts b/src/addons/mod/workshop/assessment/numerrors/component/numerrors.ts index 4f3d37d5771..67a4b8bc50e 100644 --- a/src/addons/mod/workshop/assessment/numerrors/component/numerrors.ts +++ b/src/addons/mod/workshop/assessment/numerrors/component/numerrors.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { AddonModWorkshopAssessmentStrategyBaseComponent } from '../../../classes/assessment-strategy-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component for numerrors assessment strategy. @@ -21,5 +22,9 @@ import { AddonModWorkshopAssessmentStrategyBaseComponent } from '../../../classe @Component({ selector: 'addon-mod-workshop-assessment-strategy-numerrors', templateUrl: 'addon-mod-workshop-assessment-strategy-numerrors.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModWorkshopAssessmentStrategyNumErrorsComponent extends AddonModWorkshopAssessmentStrategyBaseComponent { } diff --git a/src/addons/mod/workshop/assessment/rubric/component/rubric.ts b/src/addons/mod/workshop/assessment/rubric/component/rubric.ts index bd8de3a093d..c7f460b49c4 100644 --- a/src/addons/mod/workshop/assessment/rubric/component/rubric.ts +++ b/src/addons/mod/workshop/assessment/rubric/component/rubric.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { AddonModWorkshopAssessmentStrategyBaseComponent } from '../../../classes/assessment-strategy-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component for rubric assessment strategy. @@ -21,5 +22,9 @@ import { AddonModWorkshopAssessmentStrategyBaseComponent } from '../../../classe @Component({ selector: 'addon-mod-workshop-assessment-strategy-rubric', templateUrl: 'addon-mod-workshop-assessment-strategy-rubric.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModWorkshopAssessmentStrategyRubricComponent extends AddonModWorkshopAssessmentStrategyBaseComponent { } diff --git a/src/addons/mod/workshop/components/assessment-strategy/assessment-strategy.ts b/src/addons/mod/workshop/components/assessment-strategy/assessment-strategy.ts index 5b7c6848909..c9a40668000 100644 --- a/src/addons/mod/workshop/components/assessment-strategy/assessment-strategy.ts +++ b/src/addons/mod/workshop/components/assessment-strategy/assessment-strategy.ts @@ -46,6 +46,8 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays workshop assessment strategy form. @@ -53,6 +55,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'addon-mod-workshop-assessment-strategy', templateUrl: 'addon-mod-workshop-assessment-strategy.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModWorkshopAssessmentStrategyComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/workshop/components/assessment/assessment.ts b/src/addons/mod/workshop/components/assessment/assessment.ts index 6b7dc65e17b..c649cbbf541 100644 --- a/src/addons/mod/workshop/components/assessment/assessment.ts +++ b/src/addons/mod/workshop/components/assessment/assessment.ts @@ -27,6 +27,7 @@ import { import { AddonModWorkshopOffline } from '../../services/workshop-offline'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays workshop assessment. @@ -34,6 +35,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'addon-mod-workshop-assessment', templateUrl: 'addon-mod-workshop-assessment.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModWorkshopAssessmentComponent implements OnInit { diff --git a/src/addons/mod/workshop/components/components.module.ts b/src/addons/mod/workshop/components/components.module.ts index a65151b75ac..e037977bc93 100644 --- a/src/addons/mod/workshop/components/components.module.ts +++ b/src/addons/mod/workshop/components/components.module.ts @@ -23,17 +23,15 @@ import { AddonModWorkshopAssessmentComponent } from './assessment/assessment'; import { AddonModWorkshopAssessmentStrategyComponent } from './assessment-strategy/assessment-strategy'; @NgModule({ - declarations: [ - AddonModWorkshopIndexComponent, - AddonModWorkshopSubmissionComponent, - AddonModWorkshopAssessmentComponent, - AddonModWorkshopAssessmentStrategyComponent, - ], imports: [ CoreSharedModule, CoreCourseComponentsModule, CoreEditorComponentsModule, AddonModWorkshopAssessmentComponentsModule, + AddonModWorkshopIndexComponent, + AddonModWorkshopSubmissionComponent, + AddonModWorkshopAssessmentComponent, + AddonModWorkshopAssessmentStrategyComponent, ], exports: [ AddonModWorkshopIndexComponent, diff --git a/src/addons/mod/workshop/components/index/index.ts b/src/addons/mod/workshop/components/index/index.ts index 26223abf909..49b8d357378 100644 --- a/src/addons/mod/workshop/components/index/index.ts +++ b/src/addons/mod/workshop/components/index/index.ts @@ -59,6 +59,9 @@ import { } from '@addons/mod/workshop/constants'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreOpener } from '@singletons/opener'; +import { AddonModWorkshopSubmissionComponent } from '../submission/submission'; +import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a workshop index page. @@ -66,6 +69,12 @@ import { CoreOpener } from '@singletons/opener'; @Component({ selector: 'addon-mod-workshop-index', templateUrl: 'addon-mod-workshop-index.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseComponentsModule, + AddonModWorkshopSubmissionComponent, + ], }) export class AddonModWorkshopIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/workshop/components/submission/submission.ts b/src/addons/mod/workshop/components/submission/submission.ts index 5e576bf6f89..0d47f42b093 100644 --- a/src/addons/mod/workshop/components/submission/submission.ts +++ b/src/addons/mod/workshop/components/submission/submission.ts @@ -31,6 +31,7 @@ import { import { AddonModWorkshopOffline } from '../../services/workshop-offline'; import { ADDON_MOD_WORKSHOP_COMPONENT, ADDON_MOD_WORKSHOP_PAGE_NAME, AddonModWorkshopPhase } from '@addons/mod/workshop/constants'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays workshop submission. @@ -39,6 +40,10 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'addon-mod-workshop-submission', templateUrl: 'addon-mod-workshop-submission.html', styleUrl: 'submission.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonModWorkshopSubmissionComponent implements OnInit { diff --git a/src/addons/mod/workshop/pages/assessment/assessment.ts b/src/addons/mod/workshop/pages/assessment/assessment.ts index 4e7fe89546c..9a32eb9f86d 100644 --- a/src/addons/mod/workshop/pages/assessment/assessment.ts +++ b/src/addons/mod/workshop/pages/assessment/assessment.ts @@ -45,6 +45,9 @@ import { } from '@addons/mod/workshop/constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { AddonModWorkshopAssessmentStrategyComponent } from '../../components/assessment-strategy/assessment-strategy'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a workshop assessment. @@ -52,6 +55,12 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-workshop-assessment-page', templateUrl: 'assessment.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModWorkshopAssessmentStrategyComponent, + CoreEditorComponentsModule, + ], }) export class AddonModWorkshopAssessmentPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts b/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts index ec851b20080..7955a56d823 100644 --- a/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts +++ b/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts @@ -46,6 +46,8 @@ import { import { CoreLoadings } from '@services/overlays/loadings'; import { CoreDom } from '@singletons/dom'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the workshop edit submission. @@ -53,6 +55,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-workshop-edit-submission', templateUrl: 'edit-submission.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonModWorkshopEditSubmissionPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/workshop/pages/index/index.ts b/src/addons/mod/workshop/pages/index/index.ts index cdef213ccc2..1dfdba7e68e 100644 --- a/src/addons/mod/workshop/pages/index/index.ts +++ b/src/addons/mod/workshop/pages/index/index.ts @@ -16,6 +16,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { CoreCourseModuleMainActivityPage } from '@features/course/classes/main-activity-page'; import { CoreNavigator } from '@services/navigator'; import { AddonModWorkshopIndexComponent } from '../../components/index/index'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a workshop. @@ -23,6 +24,11 @@ import { AddonModWorkshopIndexComponent } from '../../components/index/index'; @Component({ selector: 'page-addon-mod-workshop-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModWorkshopIndexComponent, + ], }) export class AddonModWorkshopIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { diff --git a/src/addons/mod/workshop/pages/submission/submission.ts b/src/addons/mod/workshop/pages/submission/submission.ts index 36c334c8913..6623c73d105 100644 --- a/src/addons/mod/workshop/pages/submission/submission.ts +++ b/src/addons/mod/workshop/pages/submission/submission.ts @@ -56,6 +56,10 @@ import { } from '@addons/mod/workshop/constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { AddonModWorkshopAssessmentComponent } from '../../components/assessment/assessment'; +import { AddonModWorkshopSubmissionComponent } from '../../components/submission/submission'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a workshop submission. @@ -63,6 +67,14 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-addon-mod-workshop-submission-page', templateUrl: 'submission.html', + standalone: true, + imports: [ + CoreSharedModule, + AddonModWorkshopSubmissionComponent, + AddonModWorkshopAssessmentComponent, + CoreEditorComponentsModule, + AddonModWorkshopAssessmentStrategyComponent, + ], }) export class AddonModWorkshopSubmissionPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/workshop/workshop-lazy.module.ts b/src/addons/mod/workshop/workshop-lazy.module.ts index 1e7f038af37..6f0fda70c99 100644 --- a/src/addons/mod/workshop/workshop-lazy.module.ts +++ b/src/addons/mod/workshop/workshop-lazy.module.ts @@ -52,8 +52,6 @@ const routes: Routes = [ CoreSharedModule, AddonModWorkshopComponentsModule, CoreEditorComponentsModule, - ], - declarations: [ AddonModWorkshopIndexPage, AddonModWorkshopSubmissionPage, AddonModWorkshopAssessmentPage, diff --git a/src/addons/notes/notes-lazy.module.ts b/src/addons/notes/notes-lazy.module.ts index fa97c950bfc..18014856b83 100644 --- a/src/addons/notes/notes-lazy.module.ts +++ b/src/addons/notes/notes-lazy.module.ts @@ -32,8 +32,6 @@ const routes: Routes = [ CoreSharedModule, CoreCommentsComponentsModule, CoreTagComponentsModule, - ], - declarations: [ AddonNotesListPage, ], }) diff --git a/src/addons/notes/pages/list/list.ts b/src/addons/notes/pages/list/list.ts index a78518a93d9..0bf524ded24 100644 --- a/src/addons/notes/pages/list/list.ts +++ b/src/addons/notes/pages/list/list.ts @@ -34,6 +34,7 @@ import { CoreToasts, ToastDuration } from '@services/overlays/toasts'; import { CoreModals } from '@services/overlays/modals'; import { ADDON_NOTES_AUTO_SYNCED } from '@addons/notes/services/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a list of notes. @@ -42,6 +43,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-notes-list-page', templateUrl: 'list.html', animations: [CoreAnimations.SLIDE_IN_OUT], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonNotesListPage implements OnInit, OnDestroy { diff --git a/src/addons/notifications/notifications-lazy.module.ts b/src/addons/notifications/notifications-lazy.module.ts index 28ad32bdf61..6bfb3b87cea 100644 --- a/src/addons/notifications/notifications-lazy.module.ts +++ b/src/addons/notifications/notifications-lazy.module.ts @@ -64,8 +64,6 @@ function buildRoutes(injector: Injector): Routes { imports: [ CoreSharedModule, CoreMainMenuComponentsModule, - ], - declarations: [ AddonNotificationsListPage, AddonNotificationsNotificationPage, ], diff --git a/src/addons/notifications/notifications-settings-lazy.module.ts b/src/addons/notifications/notifications-settings-lazy.module.ts index e87cc52556d..442140161af 100644 --- a/src/addons/notifications/notifications-settings-lazy.module.ts +++ b/src/addons/notifications/notifications-settings-lazy.module.ts @@ -29,8 +29,6 @@ const routes: Routes = [ imports: [ RouterModule.forChild(routes), CoreSharedModule, - ], - declarations: [ AddonNotificationsSettingsPage, ], }) diff --git a/src/addons/notifications/pages/list/list.ts b/src/addons/notifications/pages/list/list.ts index 727c691b9cd..9eddf7bd30b 100644 --- a/src/addons/notifications/pages/list/list.ts +++ b/src/addons/notifications/pages/list/list.ts @@ -34,6 +34,8 @@ import { CoreConstants } from '@/core/constants'; import { CorePlatform } from '@services/platform'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of notifications. @@ -42,6 +44,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-notifications-list', templateUrl: 'list.html', styleUrls: ['list.scss', '../../notifications.scss'], + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuComponentsModule, + ], }) export class AddonNotificationsListPage implements AfterViewInit, OnDestroy { diff --git a/src/addons/notifications/pages/notification/notification.ts b/src/addons/notifications/pages/notification/notification.ts index 9b308740044..f991684449d 100644 --- a/src/addons/notifications/pages/notification/notification.ts +++ b/src/addons/notifications/pages/notification/notification.ts @@ -29,6 +29,7 @@ import { CoreNavigator } from '@services/navigator'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreSites } from '@services/sites'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page to render a notification. @@ -37,6 +38,10 @@ import { Translate } from '@singletons'; selector: 'page-addon-notifications-notification', templateUrl: 'notification.html', styleUrls: ['../../notifications.scss', 'notification.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonNotificationsNotificationPage implements OnInit, OnDestroy { diff --git a/src/addons/notifications/pages/settings/settings.ts b/src/addons/notifications/pages/settings/settings.ts index 1654d54f136..100498a566c 100644 --- a/src/addons/notifications/pages/settings/settings.ts +++ b/src/addons/notifications/pages/settings/settings.ts @@ -41,6 +41,7 @@ import { Translate } from '@singletons'; import { CoreErrorHelper } from '@services/error-helper'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays notifications settings. @@ -49,6 +50,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-notifications-settings', templateUrl: 'settings.html', styleUrl: 'settings.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonNotificationsSettingsPage implements OnInit, OnDestroy { diff --git a/src/addons/privatefiles/pages/index/index.ts b/src/addons/privatefiles/pages/index/index.ts index 98dad3dc0e8..0ef63fce7aa 100644 --- a/src/addons/privatefiles/pages/index/index.ts +++ b/src/addons/privatefiles/pages/index/index.ts @@ -38,6 +38,7 @@ import { CoreToasts, ToastDuration } from '@services/overlays/toasts'; import { CoreLoadings } from '@services/overlays/loadings'; import { AddonPrivateFilesFileComponent } from '@addons/privatefiles/components/file/file'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of files. @@ -46,6 +47,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-addon-privatefiles-index', templateUrl: 'index.html', styleUrl: './index.scss', + standalone: true, + imports: [ + CoreSharedModule, + AddonPrivateFilesFileComponent, + ], }) export class AddonPrivateFilesIndexPage implements OnInit, OnDestroy { diff --git a/src/addons/privatefiles/privatefiles-lazy.module.ts b/src/addons/privatefiles/privatefiles-lazy.module.ts index a0468983d07..831ea15b0d8 100644 --- a/src/addons/privatefiles/privatefiles-lazy.module.ts +++ b/src/addons/privatefiles/privatefiles-lazy.module.ts @@ -47,8 +47,6 @@ function buildRoutes(injector: Injector): Routes { imports: [ CoreSharedModule, AddonPrivateFilesFileComponent, - ], - declarations: [ AddonPrivateFilesIndexPage, ], providers: [ diff --git a/src/addons/qbehaviour/deferredcbm/component/deferredcbm.ts b/src/addons/qbehaviour/deferredcbm/component/deferredcbm.ts index 3214d423226..364c4a25787 100644 --- a/src/addons/qbehaviour/deferredcbm/component/deferredcbm.ts +++ b/src/addons/qbehaviour/deferredcbm/component/deferredcbm.ts @@ -17,6 +17,7 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input, Output, EventEmitter } from '@angular/core'; import { CoreQuestionBehaviourButton, CoreQuestionQuestion } from '@features/question/services/question-helper'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render the deferred CBM in a question. @@ -24,6 +25,10 @@ import { CoreQuestionBehaviourButton, CoreQuestionQuestion } from '@features/que @Component({ selector: 'addon-qbehaviour-deferredcbm', templateUrl: 'addon-qbehaviour-deferredcbm.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQbehaviourDeferredCBMComponent { diff --git a/src/addons/qbehaviour/deferredcbm/deferredcbm.module.ts b/src/addons/qbehaviour/deferredcbm/deferredcbm.module.ts index 9606c4c6335..eb30581065e 100644 --- a/src/addons/qbehaviour/deferredcbm/deferredcbm.module.ts +++ b/src/addons/qbehaviour/deferredcbm/deferredcbm.module.ts @@ -20,11 +20,9 @@ import { AddonQbehaviourDeferredCBMComponent } from './component/deferredcbm'; import { AddonQbehaviourDeferredCBMHandler } from './services/handlers/deferredcbm'; @NgModule({ - declarations: [ - AddonQbehaviourDeferredCBMComponent, - ], imports: [ CoreSharedModule, + AddonQbehaviourDeferredCBMComponent, ], providers: [ { diff --git a/src/addons/qbehaviour/informationitem/component/informationitem.ts b/src/addons/qbehaviour/informationitem/component/informationitem.ts index 1dd6717c380..ae30a813b37 100644 --- a/src/addons/qbehaviour/informationitem/component/informationitem.ts +++ b/src/addons/qbehaviour/informationitem/component/informationitem.ts @@ -13,6 +13,7 @@ // limitations under the License. import { ContextLevel } from '@/core/constants'; +import { CoreSharedModule } from '@/core/shared.module'; import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input, Output, EventEmitter } from '@angular/core'; @@ -24,6 +25,10 @@ import { CoreQuestionBehaviourButton, CoreQuestionQuestion } from '@features/que @Component({ selector: 'addon-qbehaviour-informationitem', templateUrl: 'addon-qbehaviour-informationitem.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQbehaviourInformationItemComponent { diff --git a/src/addons/qbehaviour/informationitem/informationitem.module.ts b/src/addons/qbehaviour/informationitem/informationitem.module.ts index 3c465a4df10..1c46b5766ed 100644 --- a/src/addons/qbehaviour/informationitem/informationitem.module.ts +++ b/src/addons/qbehaviour/informationitem/informationitem.module.ts @@ -20,11 +20,9 @@ import { AddonQbehaviourInformationItemComponent } from './component/information import { AddonQbehaviourInformationItemHandler } from './services/handlers/informationitem'; @NgModule({ - declarations: [ - AddonQbehaviourInformationItemComponent, - ], imports: [ CoreSharedModule, + AddonQbehaviourInformationItemComponent, ], providers: [ { diff --git a/src/addons/qtype/ddimageortext/component/ddimageortext.ts b/src/addons/qtype/ddimageortext/component/ddimageortext.ts index 3c1ffacaa2c..238e620dfbe 100644 --- a/src/addons/qtype/ddimageortext/component/ddimageortext.ts +++ b/src/addons/qtype/ddimageortext/component/ddimageortext.ts @@ -17,6 +17,7 @@ import { Component, OnDestroy, ElementRef } from '@angular/core'; import { AddonModQuizQuestionBasicData, CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; import { CoreQuestionHelper } from '@features/question/services/question-helper'; import { AddonQtypeDdImageOrTextQuestion } from '../classes/ddimageortext'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a drag-and-drop onto image question. @@ -25,6 +26,10 @@ import { AddonQtypeDdImageOrTextQuestion } from '../classes/ddimageortext'; selector: 'addon-qtype-ddimageortext', templateUrl: 'addon-qtype-ddimageortext.html', styleUrls: ['../../../../core/features/question/question.scss', 'ddimageortext.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeDdImageOrTextComponent extends CoreQuestionBaseComponent diff --git a/src/addons/qtype/ddimageortext/ddimageortext.module.ts b/src/addons/qtype/ddimageortext/ddimageortext.module.ts index 392a181c37c..139f77b48c6 100644 --- a/src/addons/qtype/ddimageortext/ddimageortext.module.ts +++ b/src/addons/qtype/ddimageortext/ddimageortext.module.ts @@ -20,11 +20,9 @@ import { AddonQtypeDdImageOrTextComponent } from './component/ddimageortext'; import { AddonQtypeDdImageOrTextHandler } from './services/handlers/ddimageortext'; @NgModule({ - declarations: [ - AddonQtypeDdImageOrTextComponent, - ], imports: [ CoreSharedModule, + AddonQtypeDdImageOrTextComponent, ], providers: [ { diff --git a/src/addons/qtype/ddmarker/component/ddmarker.ts b/src/addons/qtype/ddmarker/component/ddmarker.ts index a0026a62c5f..6b4d5302bed 100644 --- a/src/addons/qtype/ddmarker/component/ddmarker.ts +++ b/src/addons/qtype/ddmarker/component/ddmarker.ts @@ -20,6 +20,7 @@ import { CoreFilepool } from '@services/filepool'; import { CoreSites } from '@services/sites'; import { CoreDomUtils } from '@services/utils/dom'; import { AddonQtypeDdMarkerQuestion } from '../classes/ddmarker'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a drag-and-drop markers question. @@ -28,6 +29,10 @@ import { AddonQtypeDdMarkerQuestion } from '../classes/ddmarker'; selector: 'addon-qtype-ddmarker', templateUrl: 'addon-qtype-ddmarker.html', styleUrl: 'ddmarker.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeDdMarkerComponent extends CoreQuestionBaseComponent diff --git a/src/addons/qtype/ddmarker/ddmarker.module.ts b/src/addons/qtype/ddmarker/ddmarker.module.ts index 0dee46686d4..cdf3e53c2f5 100644 --- a/src/addons/qtype/ddmarker/ddmarker.module.ts +++ b/src/addons/qtype/ddmarker/ddmarker.module.ts @@ -20,11 +20,9 @@ import { AddonQtypeDdMarkerComponent } from './component/ddmarker'; import { AddonQtypeDdMarkerHandler } from './services/handlers/ddmarker'; @NgModule({ - declarations: [ - AddonQtypeDdMarkerComponent, - ], imports: [ CoreSharedModule, + AddonQtypeDdMarkerComponent, ], providers: [ { diff --git a/src/addons/qtype/ddwtos/component/ddwtos.ts b/src/addons/qtype/ddwtos/component/ddwtos.ts index fbf571eaca4..a6b4919137c 100644 --- a/src/addons/qtype/ddwtos/component/ddwtos.ts +++ b/src/addons/qtype/ddwtos/component/ddwtos.ts @@ -19,6 +19,7 @@ import { CoreQuestionHelper } from '@features/question/services/question-helper' import { CoreDomUtils } from '@services/utils/dom'; import { AddonQtypeDdwtosQuestion } from '../classes/ddwtos'; import { CoreText } from '@singletons/text'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a drag-and-drop words into sentences question. @@ -27,6 +28,10 @@ import { CoreText } from '@singletons/text'; selector: 'addon-qtype-ddwtos', templateUrl: 'addon-qtype-ddwtos.html', styleUrls: ['../../../../core/features/question/question.scss', 'ddwtos.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeDdwtosComponent extends CoreQuestionBaseComponent implements OnDestroy { diff --git a/src/addons/qtype/ddwtos/ddwtos.module.ts b/src/addons/qtype/ddwtos/ddwtos.module.ts index ed923dea972..2935342de3c 100644 --- a/src/addons/qtype/ddwtos/ddwtos.module.ts +++ b/src/addons/qtype/ddwtos/ddwtos.module.ts @@ -20,11 +20,9 @@ import { AddonQtypeDdwtosComponent } from './component/ddwtos'; import { AddonQtypeDdwtosHandler } from './services/handlers/ddwtos'; @NgModule({ - declarations: [ - AddonQtypeDdwtosComponent, - ], imports: [ CoreSharedModule, + AddonQtypeDdwtosComponent, ], providers: [ { diff --git a/src/addons/qtype/description/component/description.ts b/src/addons/qtype/description/component/description.ts index c50f2d0655e..04e1fcb6b94 100644 --- a/src/addons/qtype/description/component/description.ts +++ b/src/addons/qtype/description/component/description.ts @@ -14,6 +14,7 @@ import { Component, ElementRef } from '@angular/core'; import { CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a description question. @@ -21,6 +22,10 @@ import { CoreQuestionBaseComponent } from '@features/question/classes/base-quest @Component({ selector: 'addon-qtype-description', templateUrl: 'addon-qtype-description.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeDescriptionComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/description/description.module.ts b/src/addons/qtype/description/description.module.ts index d580e9d59c8..46497a7a99d 100644 --- a/src/addons/qtype/description/description.module.ts +++ b/src/addons/qtype/description/description.module.ts @@ -20,11 +20,9 @@ import { AddonQtypeDescriptionComponent } from './component/description'; import { AddonQtypeDescriptionHandler } from './services/handlers/description'; @NgModule({ - declarations: [ - AddonQtypeDescriptionComponent, - ], imports: [ CoreSharedModule, + AddonQtypeDescriptionComponent, ], providers: [ { diff --git a/src/addons/qtype/essay/component/essay.ts b/src/addons/qtype/essay/component/essay.ts index 216c1b3bb89..65be7912fb9 100644 --- a/src/addons/qtype/essay/component/essay.ts +++ b/src/addons/qtype/essay/component/essay.ts @@ -23,12 +23,20 @@ import { CoreText } from '@singletons/text'; import { CoreFileSession } from '@services/file-session'; import { CoreQuestion } from '@features/question/services/question'; import { CoreFileEntry } from '@services/file-helper'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; + /** * Component to render an essay question. */ @Component({ selector: 'addon-qtype-essay', templateUrl: 'addon-qtype-essay.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonQtypeEssayComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/essay/essay.module.ts b/src/addons/qtype/essay/essay.module.ts index 390479bbf17..55d958e38ea 100644 --- a/src/addons/qtype/essay/essay.module.ts +++ b/src/addons/qtype/essay/essay.module.ts @@ -21,12 +21,10 @@ import { AddonQtypeEssayHandler } from './services/handlers/essay'; import { AddonQtypeEssayComponent } from './component/essay'; @NgModule({ - declarations: [ - AddonQtypeEssayComponent, - ], imports: [ CoreSharedModule, CoreEditorComponentsModule, + AddonQtypeEssayComponent, ], providers: [ { diff --git a/src/addons/qtype/gapselect/component/gapselect.ts b/src/addons/qtype/gapselect/component/gapselect.ts index 4b16d39661a..5be4e30aff0 100644 --- a/src/addons/qtype/gapselect/component/gapselect.ts +++ b/src/addons/qtype/gapselect/component/gapselect.ts @@ -16,6 +16,7 @@ import { Component, ElementRef } from '@angular/core'; import { CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; import { CoreQuestionHelper } from '@features/question/services/question-helper'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a gap select question. @@ -24,6 +25,10 @@ import { CoreQuestionHelper } from '@features/question/services/question-helper' selector: 'addon-qtype-gapselect', templateUrl: 'addon-qtype-gapselect.html', styleUrl: 'gapselect.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeGapSelectComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/gapselect/gapselect.module.ts b/src/addons/qtype/gapselect/gapselect.module.ts index badb30c4fa4..ffde087ed90 100644 --- a/src/addons/qtype/gapselect/gapselect.module.ts +++ b/src/addons/qtype/gapselect/gapselect.module.ts @@ -20,11 +20,9 @@ import { AddonQtypeGapSelectComponent } from './component/gapselect'; import { AddonQtypeGapSelectHandler } from './services/handlers/gapselect'; @NgModule({ - declarations: [ - AddonQtypeGapSelectComponent, - ], imports: [ CoreSharedModule, + AddonQtypeGapSelectComponent, ], providers: [ { diff --git a/src/addons/qtype/match/component/match.ts b/src/addons/qtype/match/component/match.ts index 98d6e383d42..4c03f4e61fe 100644 --- a/src/addons/qtype/match/component/match.ts +++ b/src/addons/qtype/match/component/match.ts @@ -15,6 +15,7 @@ import { Component, ElementRef } from '@angular/core'; import { AddonModQuizMatchQuestion, CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a match question. @@ -23,6 +24,10 @@ import { AddonModQuizMatchQuestion, CoreQuestionBaseComponent } from '@features/ selector: 'addon-qtype-match', templateUrl: 'addon-qtype-match.html', styleUrl: 'match.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeMatchComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/match/match.module.ts b/src/addons/qtype/match/match.module.ts index 0df4636e504..a7aa9f9142e 100644 --- a/src/addons/qtype/match/match.module.ts +++ b/src/addons/qtype/match/match.module.ts @@ -20,11 +20,9 @@ import { AddonQtypeMatchComponent } from './component/match'; import { AddonQtypeMatchHandler } from './services/handlers/match'; @NgModule({ - declarations: [ - AddonQtypeMatchComponent, - ], imports: [ CoreSharedModule, + AddonQtypeMatchComponent, ], providers: [ { diff --git a/src/addons/qtype/multianswer/component/multianswer.ts b/src/addons/qtype/multianswer/component/multianswer.ts index 22455477433..99607347ae7 100644 --- a/src/addons/qtype/multianswer/component/multianswer.ts +++ b/src/addons/qtype/multianswer/component/multianswer.ts @@ -15,6 +15,7 @@ import { Component, ElementRef } from '@angular/core'; import { CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; import { CoreQuestionHelper } from '@features/question/services/question-helper'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a multianswer question. @@ -23,6 +24,10 @@ import { CoreQuestionHelper } from '@features/question/services/question-helper' selector: 'addon-qtype-multianswer', templateUrl: 'addon-qtype-multianswer.html', styleUrl: 'multianswer.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeMultiAnswerComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/multianswer/multianswer.module.ts b/src/addons/qtype/multianswer/multianswer.module.ts index 9548089b357..2486711e4f9 100644 --- a/src/addons/qtype/multianswer/multianswer.module.ts +++ b/src/addons/qtype/multianswer/multianswer.module.ts @@ -20,11 +20,9 @@ import { AddonQtypeMultiAnswerComponent } from './component/multianswer'; import { AddonQtypeMultiAnswerHandler } from './services/handlers/multianswer'; @NgModule({ - declarations: [ - AddonQtypeMultiAnswerComponent, - ], imports: [ CoreSharedModule, + AddonQtypeMultiAnswerComponent, ], providers: [ { diff --git a/src/addons/qtype/multichoice/component/multichoice.ts b/src/addons/qtype/multichoice/component/multichoice.ts index 4059d3d7387..ce2087e688f 100644 --- a/src/addons/qtype/multichoice/component/multichoice.ts +++ b/src/addons/qtype/multichoice/component/multichoice.ts @@ -15,6 +15,7 @@ import { Component, ElementRef } from '@angular/core'; import { AddonModQuizMultichoiceQuestion, CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a multichoice question. @@ -23,6 +24,10 @@ import { AddonModQuizMultichoiceQuestion, CoreQuestionBaseComponent } from '@fea selector: 'addon-qtype-multichoice', templateUrl: 'addon-qtype-multichoice.html', styleUrl: 'multichoice.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeMultichoiceComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/multichoice/multichoice.module.ts b/src/addons/qtype/multichoice/multichoice.module.ts index 12488668f51..483b3e55890 100644 --- a/src/addons/qtype/multichoice/multichoice.module.ts +++ b/src/addons/qtype/multichoice/multichoice.module.ts @@ -20,11 +20,9 @@ import { CoreQuestionDelegate } from '@features/question/services/question-deleg import { AddonQtypeMultichoiceHandler } from './services/handlers/multichoice'; @NgModule({ - declarations: [ - AddonQtypeMultichoiceComponent, - ], imports: [ CoreSharedModule, + AddonQtypeMultichoiceComponent, ], providers: [ { diff --git a/src/addons/qtype/numerical/component/numerical.ts b/src/addons/qtype/numerical/component/numerical.ts index 3f8aef6ccca..b2913193ec2 100644 --- a/src/addons/qtype/numerical/component/numerical.ts +++ b/src/addons/qtype/numerical/component/numerical.ts @@ -15,6 +15,7 @@ import { Component, ElementRef } from '@angular/core'; import { AddonModQuizNumericalQuestion, CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a numerical question. @@ -23,6 +24,10 @@ import { AddonModQuizNumericalQuestion, CoreQuestionBaseComponent } from '@featu selector: 'numerical', templateUrl: 'numerical.html', styleUrl: 'numerical.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeNumericalComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/numerical/numerical.module.ts b/src/addons/qtype/numerical/numerical.module.ts index 2313768f778..d3e7b166a70 100644 --- a/src/addons/qtype/numerical/numerical.module.ts +++ b/src/addons/qtype/numerical/numerical.module.ts @@ -20,11 +20,9 @@ import { CoreSharedModule } from '@/core/shared.module'; import { AddonQtypeNumericalComponent } from './component/numerical'; @NgModule({ - declarations: [ - AddonQtypeNumericalComponent, - ], imports: [ CoreSharedModule, + AddonQtypeNumericalComponent, ], providers: [ { diff --git a/src/addons/qtype/ordering/component/ordering.ts b/src/addons/qtype/ordering/component/ordering.ts index e2293b7ce37..d9994d39f0e 100644 --- a/src/addons/qtype/ordering/component/ordering.ts +++ b/src/addons/qtype/ordering/component/ordering.ts @@ -20,6 +20,7 @@ import { ItemReorderEventDetail } from '@ionic/angular'; import { Translate } from '@singletons'; import { CoreWait } from '@singletons/wait'; import { CorePlatform } from '@services/platform'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render an ordering question. @@ -28,6 +29,10 @@ import { CorePlatform } from '@services/platform'; selector: 'addon-qtype-ordering', templateUrl: 'addon-qtype-ordering.html', styleUrls: ['../../../../core/features/question/question.scss', 'ordering.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeOrderingComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/ordering/ordering.module.ts b/src/addons/qtype/ordering/ordering.module.ts index 8edd336781e..1f960ef6459 100644 --- a/src/addons/qtype/ordering/ordering.module.ts +++ b/src/addons/qtype/ordering/ordering.module.ts @@ -19,11 +19,9 @@ import { AddonQtypeOrderingComponent } from './component/ordering'; import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - declarations: [ - AddonQtypeOrderingComponent, - ], imports: [ CoreSharedModule, + AddonQtypeOrderingComponent, ], providers: [ { diff --git a/src/addons/qtype/shortanswer/component/shortanswer.ts b/src/addons/qtype/shortanswer/component/shortanswer.ts index de256d02cab..078f2803d3b 100644 --- a/src/addons/qtype/shortanswer/component/shortanswer.ts +++ b/src/addons/qtype/shortanswer/component/shortanswer.ts @@ -15,6 +15,7 @@ import { Component, ElementRef } from '@angular/core'; import { AddonModQuizTextQuestion, CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a short answer question. @@ -23,6 +24,10 @@ import { AddonModQuizTextQuestion, CoreQuestionBaseComponent } from '@features/q selector: 'addon-qtype-shortanswer', templateUrl: 'addon-qtype-shortanswer.html', styleUrl: 'shortanswer.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonQtypeShortAnswerComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/qtype/shortanswer/shortanswer.module.ts b/src/addons/qtype/shortanswer/shortanswer.module.ts index dcadc635e6b..b4e77e177fe 100644 --- a/src/addons/qtype/shortanswer/shortanswer.module.ts +++ b/src/addons/qtype/shortanswer/shortanswer.module.ts @@ -20,11 +20,9 @@ import { AddonQtypeShortAnswerComponent } from './component/shortanswer'; import { AddonQtypeShortAnswerHandler } from './services/handlers/shortanswer'; @NgModule({ - declarations: [ - AddonQtypeShortAnswerComponent, - ], imports: [ CoreSharedModule, + AddonQtypeShortAnswerComponent, ], providers: [ { diff --git a/src/addons/storagemanager/pages/course-storage/course-storage.ts b/src/addons/storagemanager/pages/course-storage/course-storage.ts index eef520df554..b139858be9b 100644 --- a/src/addons/storagemanager/pages/course-storage/course-storage.ts +++ b/src/addons/storagemanager/pages/course-storage/course-storage.ts @@ -37,6 +37,7 @@ import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreErrorHelper } from '@services/error-helper'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the amount of file storage used by each activity on the course, and allows @@ -47,6 +48,10 @@ import { CoreErrorHelper } from '@services/error-helper'; templateUrl: 'course-storage.html', styleUrl: 'course-storage.scss', changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonStorageManagerCourseStoragePage implements OnInit, OnDestroy { diff --git a/src/addons/storagemanager/pages/courses-storage/courses-storage.ts b/src/addons/storagemanager/pages/courses-storage/courses-storage.ts index b3940a7ce65..7db9621ea14 100644 --- a/src/addons/storagemanager/pages/courses-storage/courses-storage.ts +++ b/src/addons/storagemanager/pages/courses-storage/courses-storage.ts @@ -29,6 +29,7 @@ import { CoreArray } from '@singletons/array'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreErrorHelper } from '@services/error-helper'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays downloaded courses and allows the user to delete them. @@ -37,6 +38,10 @@ import { CoreErrorHelper } from '@services/error-helper'; selector: 'page-addon-storagemanager-courses-storage', templateUrl: 'courses-storage.html', styleUrl: 'courses-storage.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonStorageManagerCoursesStoragePage implements OnInit, OnDestroy { diff --git a/src/addons/storagemanager/storagemanager-lazy.module.ts b/src/addons/storagemanager/storagemanager-lazy.module.ts index 0f4a1fb2dd4..2fe8d19623d 100644 --- a/src/addons/storagemanager/storagemanager-lazy.module.ts +++ b/src/addons/storagemanager/storagemanager-lazy.module.ts @@ -34,8 +34,6 @@ const routes: Routes = [ imports: [ RouterModule.forChild(routes), CoreSharedModule, - ], - declarations: [ AddonStorageManagerCoursesStoragePage, AddonStorageManagerCourseStoragePage, ], diff --git a/src/addons/userprofilefield/checkbox/checkbox.module.ts b/src/addons/userprofilefield/checkbox/checkbox.module.ts index 92e44c431b5..17727d26a26 100644 --- a/src/addons/userprofilefield/checkbox/checkbox.module.ts +++ b/src/addons/userprofilefield/checkbox/checkbox.module.ts @@ -20,11 +20,9 @@ import { AddonUserProfileFieldCheckboxComponent } from './component/checkbox'; import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - declarations: [ - AddonUserProfileFieldCheckboxComponent, - ], imports: [ CoreSharedModule, + AddonUserProfileFieldCheckboxComponent, ], providers: [ { diff --git a/src/addons/userprofilefield/checkbox/component/checkbox.ts b/src/addons/userprofilefield/checkbox/component/checkbox.ts index bd8f6d92644..f56454f9b4f 100644 --- a/src/addons/userprofilefield/checkbox/component/checkbox.ts +++ b/src/addons/userprofilefield/checkbox/component/checkbox.ts @@ -18,6 +18,7 @@ import { Validators, FormControl } from '@angular/forms'; import { AuthEmailSignupProfileField } from '@features/login/services/login-helper'; import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-profilefield-component'; import { CoreUtils } from '@singletons/utils'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Directive to render a checkbox user profile field. @@ -26,6 +27,10 @@ import { CoreUtils } from '@singletons/utils'; selector: 'addon-user-profile-field-checkbox', templateUrl: 'addon-user-profile-field-checkbox.html', styleUrl: './checkbox.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonUserProfileFieldCheckboxComponent extends CoreUserProfileFieldBaseComponent { diff --git a/src/addons/userprofilefield/datetime/component/datetime.ts b/src/addons/userprofilefield/datetime/component/datetime.ts index 4693ea4290e..0c97c2ddb3a 100644 --- a/src/addons/userprofilefield/datetime/component/datetime.ts +++ b/src/addons/userprofilefield/datetime/component/datetime.ts @@ -20,6 +20,7 @@ import { CoreUtils } from '@singletons/utils'; import { AuthEmailSignupProfileField } from '@features/login/services/login-helper'; import { CoreUserProfileField } from '@features/user/services/user'; import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-profilefield-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Directive to render a datetime user profile field. @@ -27,6 +28,10 @@ import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-p @Component({ selector: 'addon-user-profile-field-datetime', templateUrl: 'addon-user-profile-field-datetime.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonUserProfileFieldDatetimeComponent extends CoreUserProfileFieldBaseComponent { diff --git a/src/addons/userprofilefield/datetime/datetime.module.ts b/src/addons/userprofilefield/datetime/datetime.module.ts index 4c3fe57835e..6e1b0da4fc1 100644 --- a/src/addons/userprofilefield/datetime/datetime.module.ts +++ b/src/addons/userprofilefield/datetime/datetime.module.ts @@ -20,11 +20,9 @@ import { AddonUserProfileFieldDatetimeComponent } from './component/datetime'; import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - declarations: [ - AddonUserProfileFieldDatetimeComponent, - ], imports: [ CoreSharedModule, + AddonUserProfileFieldDatetimeComponent, ], providers: [ { diff --git a/src/addons/userprofilefield/menu/component/menu.ts b/src/addons/userprofilefield/menu/component/menu.ts index 602467823d9..bc9aa673120 100644 --- a/src/addons/userprofilefield/menu/component/menu.ts +++ b/src/addons/userprofilefield/menu/component/menu.ts @@ -16,6 +16,7 @@ import { Component } from '@angular/core'; import { AuthEmailSignupProfileField } from '@features/login/services/login-helper'; import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-profilefield-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Directive to render a menu user profile field. @@ -24,6 +25,10 @@ import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-p selector: 'addon-user-profile-field-menu', templateUrl: 'addon-user-profile-field-menu.html', styleUrl: './menu.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonUserProfileFieldMenuComponent extends CoreUserProfileFieldBaseComponent { diff --git a/src/addons/userprofilefield/menu/menu.module.ts b/src/addons/userprofilefield/menu/menu.module.ts index e2fa301c616..2275962fd6c 100644 --- a/src/addons/userprofilefield/menu/menu.module.ts +++ b/src/addons/userprofilefield/menu/menu.module.ts @@ -20,11 +20,9 @@ import { AddonUserProfileFieldMenuComponent } from './component/menu'; import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - declarations: [ - AddonUserProfileFieldMenuComponent, - ], imports: [ CoreSharedModule, + AddonUserProfileFieldMenuComponent, ], providers: [ { diff --git a/src/addons/userprofilefield/social/component/social.ts b/src/addons/userprofilefield/social/component/social.ts index 91226ab8ec8..e12f6b72750 100644 --- a/src/addons/userprofilefield/social/component/social.ts +++ b/src/addons/userprofilefield/social/component/social.ts @@ -15,6 +15,7 @@ import { Component } from '@angular/core'; import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-profilefield-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Directive to render a social user profile field. @@ -22,6 +23,10 @@ import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-p @Component({ selector: 'addon-user-profile-field-social', templateUrl: 'addon-user-profile-field-social.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonUserProfileFieldSocialComponent extends CoreUserProfileFieldBaseComponent { diff --git a/src/addons/userprofilefield/social/social.module.ts b/src/addons/userprofilefield/social/social.module.ts index f49a1169dd5..efda5cd4cc5 100644 --- a/src/addons/userprofilefield/social/social.module.ts +++ b/src/addons/userprofilefield/social/social.module.ts @@ -20,11 +20,9 @@ import { AddonUserProfileFieldSocialComponent } from './component/social'; import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - declarations: [ - AddonUserProfileFieldSocialComponent, - ], imports: [ CoreSharedModule, + AddonUserProfileFieldSocialComponent, ], providers: [ { diff --git a/src/addons/userprofilefield/text/component/text.ts b/src/addons/userprofilefield/text/component/text.ts index 6dbee965778..0d7bf465323 100644 --- a/src/addons/userprofilefield/text/component/text.ts +++ b/src/addons/userprofilefield/text/component/text.ts @@ -17,6 +17,7 @@ import { Component } from '@angular/core'; import { AuthEmailSignupProfileField } from '@features/login/services/login-helper'; import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-profilefield-component'; import { CoreUtils } from '@singletons/utils'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Directive to render a text user profile field. @@ -24,6 +25,10 @@ import { CoreUtils } from '@singletons/utils'; @Component({ selector: 'addon-user-profile-field-text', templateUrl: 'addon-user-profile-field-text.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class AddonUserProfileFieldTextComponent extends CoreUserProfileFieldBaseComponent { diff --git a/src/addons/userprofilefield/text/text.module.ts b/src/addons/userprofilefield/text/text.module.ts index 812f24cee70..1d470433ed7 100644 --- a/src/addons/userprofilefield/text/text.module.ts +++ b/src/addons/userprofilefield/text/text.module.ts @@ -20,11 +20,9 @@ import { AddonUserProfileFieldTextComponent } from './component/text'; import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - declarations: [ - AddonUserProfileFieldTextComponent, - ], imports: [ CoreSharedModule, + AddonUserProfileFieldTextComponent, ], providers: [ { diff --git a/src/addons/userprofilefield/textarea/component/textarea.ts b/src/addons/userprofilefield/textarea/component/textarea.ts index affe2f61607..bf5b71084e1 100644 --- a/src/addons/userprofilefield/textarea/component/textarea.ts +++ b/src/addons/userprofilefield/textarea/component/textarea.ts @@ -15,6 +15,8 @@ import { Component } from '@angular/core'; import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-profilefield-component'; +import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Directive to render a textarea user profile field. @@ -22,5 +24,10 @@ import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-p @Component({ selector: 'addon-user-profile-field-textarea', templateUrl: 'addon-user-profile-field-textarea.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreEditorComponentsModule, + ], }) export class AddonUserProfileFieldTextareaComponent extends CoreUserProfileFieldBaseComponent {} diff --git a/src/addons/userprofilefield/textarea/textarea.module.ts b/src/addons/userprofilefield/textarea/textarea.module.ts index f2a29d40de9..2bb1e11d1b8 100644 --- a/src/addons/userprofilefield/textarea/textarea.module.ts +++ b/src/addons/userprofilefield/textarea/textarea.module.ts @@ -21,12 +21,10 @@ import { CoreSharedModule } from '@/core/shared.module'; import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; @NgModule({ - declarations: [ - AddonUserProfileFieldTextareaComponent, - ], imports: [ CoreSharedModule, CoreEditorComponentsModule, + AddonUserProfileFieldTextareaComponent, ], providers: [ { From 1405dbdbb59be8b780343c0b3e091856d1193e62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Thu, 30 Jan 2025 23:57:08 +0100 Subject: [PATCH 02/16] MOBILE-4759 chore: Simplify page loading using default classes on addons --- src/addons/badges/badge-lazy.module.ts | 33 ---------- src/addons/badges/badgeclass-lazy.module.ts | 34 ---------- src/addons/badges/badges-lazy.module.ts | 14 ++--- src/addons/badges/badges.module.ts | 9 +-- .../badges/pages/badge-class/badge-class.ts | 2 +- .../badges/pages/issued-badge/issued-badge.ts | 2 +- .../badges/pages/user-badges/user-badges.ts | 2 +- src/addons/blog/blog-lazy.module.ts | 15 +---- src/addons/blog/pages/index/index.ts | 2 +- src/addons/calendar/calendar-lazy.module.ts | 30 ++------- src/addons/calendar/calendar.module.ts | 2 - .../calendar/components/components.module.ts | 33 ---------- src/addons/calendar/pages/day/day.ts | 2 +- .../calendar/pages/edit-event/edit-event.ts | 2 +- src/addons/calendar/pages/event/event.ts | 2 +- src/addons/calendar/pages/index/index.ts | 2 +- .../calendar/pages/settings/settings.ts | 2 +- .../competency-course-contents-lazy.module.ts | 34 ---------- .../competency-course-details-lazy.module.ts | 22 ++----- .../competency-learning-plans-lazy.module.ts | 31 +++------ src/addons/competency/competency.module.ts | 2 +- .../pages/competencies/competencies.module.ts | 26 -------- .../{competencies.page.ts => competencies.ts} | 2 +- .../pages/competency/competency.module.ts | 26 -------- .../{competency.page.ts => competency.ts} | 2 +- .../competencysummary.module.ts | 26 -------- ...cysummary.page.ts => competencysummary.ts} | 2 +- .../coursecompetencies.module.ts | 26 -------- ...etencies.page.ts => coursecompetencies.ts} | 2 +- src/addons/competency/pages/plan/plan.ts | 2 +- .../competency/pages/planlist/planlist.ts | 2 +- .../coursecompletion-lazy.module.ts | 38 ----------- .../coursecompletion.module.ts | 2 +- .../coursecompletion/pages/report/report.ts | 2 +- .../airnotifier/airnotifier.module.ts | 6 +- .../airnotifier/pages/devices/devices.ts | 2 +- src/addons/messages/messages-lazy.module.ts | 32 +++------- .../messages/pages/contacts/contacts.ts | 2 +- .../messages/pages/discussion/discussion.ts | 2 +- .../group-conversations.ts | 2 +- src/addons/messages/pages/search/search.ts | 2 +- src/addons/mod/assign/assign-lazy.module.ts | 24 ++----- .../assign/components/components.module.ts | 14 ----- .../edit-feedback-modal.ts | 4 +- .../feedback/comments/comments.module.ts | 11 ---- .../assign/feedback/editpdf/editpdf.module.ts | 9 --- .../mod/assign/feedback/file/file.module.ts | 9 --- src/addons/mod/assign/pages/edit/edit.ts | 2 +- src/addons/mod/assign/pages/index/index.ts | 2 +- .../pages/submission-list/submission-list.ts | 2 +- .../submission-review/submission-review.ts | 2 +- .../submission/comments/comments.module.ts | 11 ---- .../mod/assign/submission/file/file.module.ts | 9 --- .../onlinetext/onlinetext.module.ts | 11 ---- .../bigbluebuttonbn-lazy.module.ts | 36 ----------- .../bigbluebuttonbn/bigbluebuttonbn.module.ts | 4 +- .../components/components.module.ts | 30 --------- .../mod/bigbluebuttonbn/pages/index/index.ts | 2 +- src/addons/mod/book/book-lazy.module.ts | 44 ------------- src/addons/mod/book/book.module.ts | 11 +++- .../mod/book/components/components.module.ts | 32 ---------- .../mod/book/pages/contents/contents.ts | 2 +- src/addons/mod/book/pages/index/index.ts | 2 +- src/addons/mod/chat/chat-lazy.module.ts | 24 ++----- .../mod/chat/components/components.module.ts | 30 --------- src/addons/mod/chat/pages/chat/chat.ts | 2 +- src/addons/mod/chat/pages/index/index.ts | 2 +- .../session-messages/session-messages.ts | 2 +- .../mod/chat/pages/sessions/sessions.ts | 2 +- src/addons/mod/choice/choice-lazy.module.ts | 36 ----------- src/addons/mod/choice/choice.module.ts | 4 +- .../choice/components/components.module.ts | 30 --------- src/addons/mod/choice/pages/index/index.ts | 2 +- .../components/components-compile.module.ts | 36 ----------- .../mod/data/components/components.module.ts | 18 ++---- src/addons/mod/data/components/index/index.ts | 2 +- .../components/search-modal/search-modal.ts | 2 +- src/addons/mod/data/data-lazy.module.ts | 63 ------------------- src/addons/mod/data/data.module.ts | 22 ++++++- .../data/fields/checkbox/checkbox.module.ts | 8 --- .../mod/data/fields/date/date.module.ts | 9 --- .../mod/data/fields/file/file.module.ts | 9 --- .../mod/data/fields/latlong/latlong.module.ts | 9 --- .../mod/data/fields/menu/menu.module.ts | 9 --- .../data/fields/multimenu/multimenu.module.ts | 8 --- .../mod/data/fields/number/number.module.ts | 9 --- .../mod/data/fields/picture/picture.module.ts | 9 --- .../fields/radiobutton/radiobutton.module.ts | 9 --- .../mod/data/fields/text/text.module.ts | 9 --- .../data/fields/textarea/textarea.module.ts | 11 ---- src/addons/mod/data/fields/url/url.module.ts | 9 --- src/addons/mod/data/pages/edit/edit.ts | 4 +- src/addons/mod/data/pages/entry/entry.ts | 4 +- src/addons/mod/data/pages/index/index.ts | 2 +- .../feedback/components/components.module.ts | 30 --------- .../mod/feedback/feedback-lazy.module.ts | 28 +++------ .../mod/feedback/pages/attempt/attempt.ts | 2 +- .../mod/feedback/pages/attempts/attempts.ts | 2 +- src/addons/mod/feedback/pages/form/form.ts | 2 +- src/addons/mod/feedback/pages/index/index.ts | 2 +- .../pages/nonrespondents/nonrespondents.ts | 2 +- .../folder/components/components.module.ts | 32 ---------- src/addons/mod/folder/folder-lazy.module.ts | 43 ------------- src/addons/mod/folder/folder.module.ts | 12 +++- src/addons/mod/folder/pages/index/index.ts | 2 +- .../mod/forum/components/components.module.ts | 41 ------------ .../mod/forum/forum-discussion-lazy.module.ts | 8 +-- src/addons/mod/forum/forum-lazy.module.ts | 12 +--- .../forum/forum-new-discussion-lazy.module.ts | 11 +--- .../mod/forum/forum-search-lazy.module.ts | 36 ----------- src/addons/mod/forum/forum.module.ts | 2 +- .../mod/forum/pages/discussion/discussion.ts | 2 +- src/addons/mod/forum/pages/index/index.ts | 2 +- .../pages/new-discussion/new-discussion.ts | 2 +- src/addons/mod/forum/pages/search/search.ts | 2 +- .../glossary/components/components.module.ts | 32 ---------- .../mod/glossary/glossary-edit-lazy.module.ts | 8 +-- .../glossary/glossary-entry-lazy.module.ts | 38 ----------- .../mod/glossary/glossary-lazy.module.ts | 14 ++--- src/addons/mod/glossary/glossary.module.ts | 6 +- src/addons/mod/glossary/pages/edit/edit.ts | 2 +- src/addons/mod/glossary/pages/entry/entry.ts | 2 +- src/addons/mod/glossary/pages/index/index.ts | 2 +- .../components/components.module.ts | 33 ---------- .../h5pactivity/h5pactivity-lazy.module.ts | 57 ----------------- .../mod/h5pactivity/h5pactivity.module.ts | 21 ++++++- .../pages/attempt-results/attempt-results.ts | 2 +- .../mod/h5pactivity/pages/index/index.ts | 2 +- .../pages/user-attempts/user-attempts.ts | 2 +- .../pages/users-attempts/users-attempts.ts | 2 +- .../mod/imscp/components/components.module.ts | 32 ---------- src/addons/mod/imscp/imscp-lazy.module.ts | 43 ------------- src/addons/mod/imscp/imscp.module.ts | 11 +++- src/addons/mod/imscp/pages/index/index.ts | 2 +- src/addons/mod/imscp/pages/view/view.ts | 2 +- .../lesson/components/components.module.ts | 31 --------- .../components/menu-modal/menu-modal.ts | 2 +- src/addons/mod/lesson/lesson-lazy.module.ts | 54 ---------------- src/addons/mod/lesson/lesson.module.ts | 17 ++++- src/addons/mod/lesson/pages/index/index.ts | 2 +- src/addons/mod/lesson/pages/player/player.ts | 2 +- .../lesson/pages/user-retake/user-retake.ts | 2 +- .../mod/lti/components/components.module.ts | 31 --------- src/addons/mod/lti/lti-lazy.module.ts | 36 ----------- src/addons/mod/lti/lti.module.ts | 4 +- src/addons/mod/lti/pages/index/index.ts | 2 +- .../mod/page/components/components.module.ts | 32 ---------- src/addons/mod/page/page-lazy.module.ts | 37 ----------- src/addons/mod/page/page.module.ts | 4 +- src/addons/mod/page/pages/index/index.ts | 2 +- .../delaybetweenattempts.module.ts | 2 - .../accessrules/ipaddress/ipaddress.module.ts | 2 - .../numattempts/numattempts.module.ts | 2 - .../offlineattempts/offlineattempts.module.ts | 9 --- .../openclosedate/openclosedate.module.ts | 2 - .../accessrules/password/password.module.ts | 9 --- .../safebrowser/safebrowser.module.ts | 2 - .../securewindow/securewindow.module.ts | 2 - .../accessrules/timelimit/timelimit.module.ts | 9 --- .../mod/quiz/components/components.module.ts | 10 --- src/addons/mod/quiz/pages/index/index.ts | 2 +- src/addons/mod/quiz/pages/player/player.ts | 2 +- src/addons/mod/quiz/pages/review/review.ts | 2 +- src/addons/mod/quiz/quiz-lazy.module.ts | 54 ---------------- src/addons/mod/quiz/quiz.module.ts | 17 ++++- .../resource/components/components.module.ts | 32 ---------- src/addons/mod/resource/pages/index/index.ts | 2 +- .../mod/resource/resource-lazy.module.ts | 36 ----------- src/addons/mod/resource/resource.module.ts | 4 +- .../mod/scorm/components/components.module.ts | 30 --------- src/addons/mod/scorm/pages/index/index.ts | 2 +- src/addons/mod/scorm/pages/player/player.ts | 2 +- src/addons/mod/scorm/scorm-lazy.module.ts | 47 -------------- src/addons/mod/scorm/scorm.module.ts | 15 ++++- .../survey/components/components.module.ts | 30 --------- src/addons/mod/survey/pages/index/index.ts | 2 +- src/addons/mod/survey/survey-lazy.module.ts | 37 ----------- src/addons/mod/survey/survey.module.ts | 4 +- .../mod/url/components/components.module.ts | 32 ---------- src/addons/mod/url/pages/index/index.ts | 2 +- src/addons/mod/url/url-lazy.module.ts | 36 ----------- src/addons/mod/url/url.module.ts | 4 +- .../mod/wiki/components/components.module.ts | 32 ---------- src/addons/mod/wiki/pages/edit/edit.ts | 2 +- src/addons/mod/wiki/pages/index/index.ts | 2 +- .../services/handlers/create-link-lazy.ts | 2 +- src/addons/mod/wiki/wiki-lazy.module.ts | 50 --------------- src/addons/mod/wiki/wiki.module.ts | 17 ++++- .../accumulative/accumulative.module.ts | 4 -- .../assessment/assesment-components.module.ts | 37 ----------- .../assessment/comments/comments.module.ts | 4 -- .../assessment/numerrors/numerrors.module.ts | 4 -- .../assessment/rubric/rubric.module.ts | 4 -- .../workshop/components/components.module.ts | 20 ------ .../components/submission/submission.ts | 2 +- .../workshop/pages/assessment/assessment.ts | 2 +- .../pages/edit-submission/edit-submission.ts | 2 +- src/addons/mod/workshop/pages/index/index.ts | 3 +- .../workshop/pages/submission/submission.ts | 6 +- .../mod/workshop/workshop-lazy.module.ts | 61 ------------------ src/addons/mod/workshop/workshop.module.ts | 23 ++++++- src/addons/notes/notes-lazy.module.ts | 38 ----------- src/addons/notes/notes.module.ts | 2 +- src/addons/notes/pages/list/list.ts | 2 +- .../notifications-lazy.module.ts | 18 ++---- .../notifications-settings-lazy.module.ts | 35 ----------- .../notifications/notifications.module.ts | 2 +- src/addons/notifications/pages/list/list.ts | 2 +- .../pages/notification/notification.ts | 2 +- .../notifications/pages/settings/settings.ts | 2 +- src/addons/privatefiles/pages/index/index.ts | 2 +- .../privatefiles/privatefiles-lazy.module.ts | 12 +--- .../deferredcbm/deferredcbm.module.ts | 9 --- .../informationitem/informationitem.module.ts | 9 --- .../ddimageortext/ddimageortext.module.ts | 9 --- src/addons/qtype/ddmarker/ddmarker.module.ts | 9 --- src/addons/qtype/ddwtos/ddwtos.module.ts | 9 --- .../qtype/description/description.module.ts | 9 --- src/addons/qtype/essay/essay.module.ts | 11 ---- .../qtype/gapselect/gapselect.module.ts | 9 --- src/addons/qtype/match/match.module.ts | 9 --- .../qtype/multianswer/multianswer.module.ts | 9 --- .../qtype/multichoice/multichoice.module.ts | 9 --- .../qtype/numerical/numerical.module.ts | 9 --- src/addons/qtype/ordering/ordering.module.ts | 9 --- .../qtype/shortanswer/shortanswer.module.ts | 9 --- .../pages/course-storage/course-storage.ts | 2 +- .../pages/courses-storage/courses-storage.ts | 2 +- .../storagemanager-lazy.module.ts | 41 ------------ .../storagemanager/storagemanager.module.ts | 9 ++- .../checkbox/checkbox.module.ts | 9 --- .../datetime/datetime.module.ts | 9 --- .../userprofilefield/menu/menu.module.ts | 9 --- .../userprofilefield/social/social.module.ts | 9 --- .../userprofilefield/text/text.module.ts | 9 --- .../textarea/textarea.module.ts | 11 ---- 236 files changed, 356 insertions(+), 2716 deletions(-) delete mode 100644 src/addons/badges/badge-lazy.module.ts delete mode 100644 src/addons/badges/badgeclass-lazy.module.ts delete mode 100644 src/addons/calendar/components/components.module.ts delete mode 100644 src/addons/competency/competency-course-contents-lazy.module.ts delete mode 100644 src/addons/competency/pages/competencies/competencies.module.ts rename src/addons/competency/pages/competencies/{competencies.page.ts => competencies.ts} (98%) delete mode 100644 src/addons/competency/pages/competency/competency.module.ts rename src/addons/competency/pages/competency/{competency.page.ts => competency.ts} (99%) delete mode 100644 src/addons/competency/pages/competencysummary/competencysummary.module.ts rename src/addons/competency/pages/competencysummary/{competencysummary.page.ts => competencysummary.ts} (98%) delete mode 100644 src/addons/competency/pages/coursecompetencies/coursecompetencies.module.ts rename src/addons/competency/pages/coursecompetencies/{coursecompetencies.page.ts => coursecompetencies.ts} (98%) delete mode 100644 src/addons/coursecompletion/coursecompletion-lazy.module.ts delete mode 100644 src/addons/mod/bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts delete mode 100644 src/addons/mod/bigbluebuttonbn/components/components.module.ts delete mode 100644 src/addons/mod/book/book-lazy.module.ts delete mode 100644 src/addons/mod/book/components/components.module.ts delete mode 100644 src/addons/mod/chat/components/components.module.ts delete mode 100644 src/addons/mod/choice/choice-lazy.module.ts delete mode 100644 src/addons/mod/choice/components/components.module.ts delete mode 100644 src/addons/mod/data/components/components-compile.module.ts delete mode 100644 src/addons/mod/data/data-lazy.module.ts delete mode 100644 src/addons/mod/feedback/components/components.module.ts delete mode 100644 src/addons/mod/folder/components/components.module.ts delete mode 100644 src/addons/mod/folder/folder-lazy.module.ts delete mode 100644 src/addons/mod/forum/components/components.module.ts delete mode 100644 src/addons/mod/forum/forum-search-lazy.module.ts delete mode 100644 src/addons/mod/glossary/components/components.module.ts delete mode 100644 src/addons/mod/glossary/glossary-entry-lazy.module.ts delete mode 100644 src/addons/mod/h5pactivity/components/components.module.ts delete mode 100644 src/addons/mod/h5pactivity/h5pactivity-lazy.module.ts delete mode 100644 src/addons/mod/imscp/components/components.module.ts delete mode 100644 src/addons/mod/imscp/imscp-lazy.module.ts delete mode 100644 src/addons/mod/lesson/components/components.module.ts delete mode 100644 src/addons/mod/lesson/lesson-lazy.module.ts delete mode 100644 src/addons/mod/lti/components/components.module.ts delete mode 100644 src/addons/mod/lti/lti-lazy.module.ts delete mode 100644 src/addons/mod/page/components/components.module.ts delete mode 100644 src/addons/mod/page/page-lazy.module.ts delete mode 100644 src/addons/mod/quiz/quiz-lazy.module.ts delete mode 100644 src/addons/mod/resource/components/components.module.ts delete mode 100644 src/addons/mod/resource/resource-lazy.module.ts delete mode 100644 src/addons/mod/scorm/components/components.module.ts delete mode 100644 src/addons/mod/scorm/scorm-lazy.module.ts delete mode 100644 src/addons/mod/survey/components/components.module.ts delete mode 100644 src/addons/mod/survey/survey-lazy.module.ts delete mode 100644 src/addons/mod/url/components/components.module.ts delete mode 100644 src/addons/mod/url/url-lazy.module.ts delete mode 100644 src/addons/mod/wiki/components/components.module.ts delete mode 100644 src/addons/mod/wiki/wiki-lazy.module.ts delete mode 100644 src/addons/mod/workshop/assessment/assesment-components.module.ts delete mode 100644 src/addons/mod/workshop/workshop-lazy.module.ts delete mode 100644 src/addons/notes/notes-lazy.module.ts delete mode 100644 src/addons/notifications/notifications-settings-lazy.module.ts delete mode 100644 src/addons/storagemanager/storagemanager-lazy.module.ts diff --git a/src/addons/badges/badge-lazy.module.ts b/src/addons/badges/badge-lazy.module.ts deleted file mode 100644 index 172a3fc6098..00000000000 --- a/src/addons/badges/badge-lazy.module.ts +++ /dev/null @@ -1,33 +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 { AddonBadgesIssuedBadgePage } from './pages/issued-badge/issued-badge'; - -const routes: Routes = [ - { - path: ':badgeHash', - component: AddonBadgesIssuedBadgePage, - data: { usesSwipeNavigation: false }, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonBadgeLazyModule {} diff --git a/src/addons/badges/badgeclass-lazy.module.ts b/src/addons/badges/badgeclass-lazy.module.ts deleted file mode 100644 index ffc6191a4c2..00000000000 --- a/src/addons/badges/badgeclass-lazy.module.ts +++ /dev/null @@ -1,34 +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 { AddonBadgesBadgeClassPage } from './pages/badge-class/badge-class'; -import { CoreSharedModule } from '@/core/shared.module'; - -const routes: Routes = [ - { - path: ':badgeId', - component: AddonBadgesBadgeClassPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonBadgesBadgeClassPage, - ], -}) -export default class AddonBadgeClassLazyModule {} diff --git a/src/addons/badges/badges-lazy.module.ts b/src/addons/badges/badges-lazy.module.ts index 8a53390226e..a20822d13c1 100644 --- a/src/addons/badges/badges-lazy.module.ts +++ b/src/addons/badges/badges-lazy.module.ts @@ -17,20 +17,16 @@ import { RouterModule, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { CoreSharedModule } from '@/core/shared.module'; - -import { AddonBadgesIssuedBadgePage } from './pages/issued-badge/issued-badge'; -import { AddonBadgesUserBadgesPage } from './pages/user-badges/user-badges'; const mobileRoutes: Routes = [ { path: '', pathMatch: 'full', - component: AddonBadgesUserBadgesPage, + loadComponent: () => import('./pages/user-badges/user-badges'), }, { path: ':badgeHash', - component: AddonBadgesIssuedBadgePage, + loadComponent: () => import('./pages/issued-badge/issued-badge'), data: { usesSwipeNavigation: true }, }, ]; @@ -38,11 +34,11 @@ const mobileRoutes: Routes = [ const tabletRoutes: Routes = [ { path: '', - component: AddonBadgesUserBadgesPage, + loadComponent: () => import('./pages/user-badges/user-badges'), children: [ { path: ':badgeHash', - component: AddonBadgesIssuedBadgePage, + loadComponent: () => import('./pages/issued-badge/issued-badge'), data: { usesSwipeNavigation: true }, }, ], @@ -57,8 +53,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonBadgesUserBadgesPage, ], }) export default class AddonBadgesLazyModule {} diff --git a/src/addons/badges/badges.module.ts b/src/addons/badges/badges.module.ts index 2bcc796f235..0394a88bf2b 100644 --- a/src/addons/badges/badges.module.ts +++ b/src/addons/badges/badges.module.ts @@ -42,16 +42,17 @@ export async function getBadgesServices(): Promise[]> { const mainMenuRoutes: Routes = [ { - path: 'badge', - loadChildren: () => import('./badge-lazy.module'), + path: 'badge/:badgeHash', + loadComponent: () => import('./pages/issued-badge/issued-badge'), + data: { usesSwipeNavigation: false }, }, { path: 'badges', loadChildren: () => import('./badges-lazy.module'), }, { - path: 'badgeclass', - loadChildren: () => import('./badgeclass-lazy.module'), + path: 'badgeclass/:badgeId', + loadComponent: () => import('./pages/badge-class/badge-class'), }, ]; diff --git a/src/addons/badges/pages/badge-class/badge-class.ts b/src/addons/badges/pages/badge-class/badge-class.ts index eb3f0b0afa6..c73ce5bc1a3 100644 --- a/src/addons/badges/pages/badge-class/badge-class.ts +++ b/src/addons/badges/pages/badge-class/badge-class.ts @@ -33,7 +33,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonBadgesBadgeClassPage implements OnInit { +export default class AddonBadgesBadgeClassPage implements OnInit { protected badgeId = 0; protected logView: (badge: AddonBadgesBadgeClass) => void; diff --git a/src/addons/badges/pages/issued-badge/issued-badge.ts b/src/addons/badges/pages/issued-badge/issued-badge.ts index da41ace7b37..76dee0923c8 100644 --- a/src/addons/badges/pages/issued-badge/issued-badge.ts +++ b/src/addons/badges/pages/issued-badge/issued-badge.ts @@ -40,7 +40,7 @@ import { CoreAlerts } from '@services/overlays/alerts'; CoreSharedModule, ], }) -export class AddonBadgesIssuedBadgePage implements OnInit, OnDestroy { +export default class AddonBadgesIssuedBadgePage implements OnInit, OnDestroy { protected badgeHash = ''; protected userId!: number; diff --git a/src/addons/badges/pages/user-badges/user-badges.ts b/src/addons/badges/pages/user-badges/user-badges.ts index 6c78e6f10a3..d3f0ab8f4a0 100644 --- a/src/addons/badges/pages/user-badges/user-badges.ts +++ b/src/addons/badges/pages/user-badges/user-badges.ts @@ -39,7 +39,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonBadgesUserBadgesPage implements AfterViewInit, OnDestroy { +export default class AddonBadgesUserBadgesPage implements AfterViewInit, OnDestroy { currentTime = 0; badges: CoreListItemsManager; diff --git a/src/addons/blog/blog-lazy.module.ts b/src/addons/blog/blog-lazy.module.ts index fc0114f4eea..5390d49d0e9 100644 --- a/src/addons/blog/blog-lazy.module.ts +++ b/src/addons/blog/blog-lazy.module.ts @@ -15,12 +15,6 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonBlogIndexPage } from './pages/index'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; - -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; import { ADDON_BLOG_MAINMENU_PAGE_NAME } from './constants'; import { canLeaveGuard } from '@guards/can-leave'; @@ -35,7 +29,7 @@ import { canLeaveGuard } from '@guards/can-leave'; return [ { path: 'index', - component: AddonBlogIndexPage, + loadChildren: () => import('./pages/index/index'), data: { mainMenuTabRoot: ADDON_BLOG_MAINMENU_PAGE_NAME, }, @@ -53,13 +47,6 @@ import { canLeaveGuard } from '@guards/can-leave'; } @NgModule({ - imports: [ - CoreSharedModule, - CoreCommentsComponentsModule, - CoreTagComponentsModule, - CoreMainMenuComponentsModule, - AddonBlogIndexPage, - ], providers: [ { provide: ROUTES, diff --git a/src/addons/blog/pages/index/index.ts b/src/addons/blog/pages/index/index.ts index 4611df6bbb2..29aa13ae3d8 100644 --- a/src/addons/blog/pages/index/index.ts +++ b/src/addons/blog/pages/index/index.ts @@ -64,7 +64,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreCommentsComponentsModule, ], }) -export class AddonBlogIndexPage implements OnInit, OnDestroy { +export default class AddonBlogIndexPage implements OnInit, OnDestroy { title = ''; diff --git a/src/addons/calendar/calendar-lazy.module.ts b/src/addons/calendar/calendar-lazy.module.ts index 2d36ee8b46b..f7b0ca15627 100644 --- a/src/addons/calendar/calendar-lazy.module.ts +++ b/src/addons/calendar/calendar-lazy.module.ts @@ -12,17 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonCalendarComponentsModule } from '@addons/calendar/components/components.module'; -import { AddonCalendarDayPage } from '@addons/calendar/pages/day/day'; -import { AddonCalendarEditEventPage } from '@addons/calendar/pages/edit-event/edit-event'; -import { AddonCalendarEventPage } from '@addons/calendar/pages/event/event'; -import { AddonCalendarIndexPage } from '@addons/calendar/pages/index'; -import { AddonCalendarSettingsPage } from '@addons/calendar/pages/settings/settings'; import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; import { ADDON_CALENDAR_PAGE_NAME } from './constants'; @@ -39,23 +30,23 @@ function buildRoutes(injector: Injector): Routes { { path: 'index', data: { mainMenuTabRoot: ADDON_CALENDAR_PAGE_NAME }, - component: AddonCalendarIndexPage, + loadComponent: () => import('@addons/calendar/pages/index'), }, { path: 'calendar-settings', - component: AddonCalendarSettingsPage, + loadComponent: () => import('@addons/calendar/pages/settings/settings'), }, { path: 'day', - component: AddonCalendarDayPage, + loadComponent: () => import('@addons/calendar/pages/day/day'), }, { path: 'event/:id', - component: AddonCalendarEventPage, + loadComponent: () => import('@addons/calendar/pages/event/event'), }, { path: 'edit/:eventId', - component: AddonCalendarEditEventPage, + loadComponent: () => import('@addons/calendar/pages/edit-event/edit-event'), canDeactivate: [canLeaveGuard], }, ...buildTabMainRoutes(injector, { @@ -66,17 +57,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - AddonCalendarComponentsModule, - CoreMainMenuComponentsModule, - CoreEditorComponentsModule, - AddonCalendarDayPage, - AddonCalendarEditEventPage, - AddonCalendarEventPage, - AddonCalendarIndexPage, - AddonCalendarSettingsPage, - ], providers: [ { provide: ROUTES, diff --git a/src/addons/calendar/calendar.module.ts b/src/addons/calendar/calendar.module.ts index cf90bae0548..8f3891ea715 100644 --- a/src/addons/calendar/calendar.module.ts +++ b/src/addons/calendar/calendar.module.ts @@ -26,7 +26,6 @@ import { AddonCalendarSyncCronHandler } from './services/handlers/sync-cron'; import { CORE_SITE_SCHEMAS } from '@services/sites'; import { CALENDAR_SITE_SCHEMA } from './services/database/calendar'; import { CALENDAR_OFFLINE_SITE_SCHEMA } from './services/database/calendar-offline'; -import { AddonCalendarComponentsModule } from './components/components.module'; import { AddonCalendar } from './services/calendar'; import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; import { ADDON_CALENDAR_PAGE_NAME } from './constants'; @@ -61,7 +60,6 @@ const mainMenuChildrenRoutes: Routes = [ imports: [ CoreMainMenuTabRoutingModule.forChild(mainMenuChildrenRoutes), CoreMainMenuRoutingModule.forChild({ children: mainMenuChildrenRoutes }), - AddonCalendarComponentsModule, ], providers: [ { diff --git a/src/addons/calendar/components/components.module.ts b/src/addons/calendar/components/components.module.ts deleted file mode 100644 index 4c3d16d8968..00000000000 --- a/src/addons/calendar/components/components.module.ts +++ /dev/null @@ -1,33 +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 { CoreSharedModule } from '@/core/shared.module'; - -import { AddonCalendarCalendarComponent } from './calendar/calendar'; -import { AddonCalendarUpcomingEventsComponent } from './upcoming-events/upcoming-events'; - -@NgModule({ - imports: [ - CoreSharedModule, - AddonCalendarCalendarComponent, - AddonCalendarUpcomingEventsComponent, - ], - exports: [ - AddonCalendarCalendarComponent, - AddonCalendarUpcomingEventsComponent, - ], -}) -export class AddonCalendarComponentsModule {} diff --git a/src/addons/calendar/pages/day/day.ts b/src/addons/calendar/pages/day/day.ts index 92311921633..c99cfa9a6e8 100644 --- a/src/addons/calendar/pages/day/day.ts +++ b/src/addons/calendar/pages/day/day.ts @@ -73,7 +73,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCalendarDayPage implements OnInit, OnDestroy { +export default class AddonCalendarDayPage implements OnInit, OnDestroy { @ViewChild(CoreSwipeSlidesComponent) swipeSlidesComponent?: CoreSwipeSlidesComponent; diff --git a/src/addons/calendar/pages/edit-event/edit-event.ts b/src/addons/calendar/pages/edit-event/edit-event.ts index 5d9707379ac..f973a1d42c9 100644 --- a/src/addons/calendar/pages/edit-event/edit-event.ts +++ b/src/addons/calendar/pages/edit-event/edit-event.ts @@ -70,7 +70,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreEditorComponentsModule, ], }) -export class AddonCalendarEditEventPage implements OnInit, OnDestroy, CanLeave { +export default class AddonCalendarEditEventPage implements OnInit, OnDestroy, CanLeave { @ViewChild(CoreEditorRichTextEditorComponent) descriptionEditor!: CoreEditorRichTextEditorComponent; @ViewChild('editEventForm') formElement!: ElementRef; diff --git a/src/addons/calendar/pages/event/event.ts b/src/addons/calendar/pages/event/event.ts index 82524c5b9a0..2485f0c4f74 100644 --- a/src/addons/calendar/pages/event/event.ts +++ b/src/addons/calendar/pages/event/event.ts @@ -68,7 +68,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCalendarEventPage implements OnInit, OnDestroy { +export default class AddonCalendarEventPage implements OnInit, OnDestroy { protected eventId!: number; protected siteHomeId: number; diff --git a/src/addons/calendar/pages/index/index.ts b/src/addons/calendar/pages/index/index.ts index babadb4bf97..4158771dbf0 100644 --- a/src/addons/calendar/pages/index/index.ts +++ b/src/addons/calendar/pages/index/index.ts @@ -58,7 +58,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonCalendarUpcomingEventsComponent, ], }) -export class AddonCalendarIndexPage implements OnInit, OnDestroy { +export default class AddonCalendarIndexPage implements OnInit, OnDestroy { @ViewChild(AddonCalendarCalendarComponent) calendarComponent?: AddonCalendarCalendarComponent; @ViewChild(AddonCalendarUpcomingEventsComponent) upcomingEventsComponent?: AddonCalendarUpcomingEventsComponent; diff --git a/src/addons/calendar/pages/settings/settings.ts b/src/addons/calendar/pages/settings/settings.ts index cf495ed720a..b9a77083568 100644 --- a/src/addons/calendar/pages/settings/settings.ts +++ b/src/addons/calendar/pages/settings/settings.ts @@ -32,7 +32,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCalendarSettingsPage implements OnInit { +export default class AddonCalendarSettingsPage implements OnInit { defaultTimeLabel = ''; diff --git a/src/addons/competency/competency-course-contents-lazy.module.ts b/src/addons/competency/competency-course-contents-lazy.module.ts deleted file mode 100644 index bee7bb5cf53..00000000000 --- a/src/addons/competency/competency-course-contents-lazy.module.ts +++ /dev/null @@ -1,34 +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 { AddonCompetencyCourseCompetenciesPage } from './pages/coursecompetencies/coursecompetencies.page'; -import { AddonCompetencyCourseCompetenciesPageModule } from './pages/coursecompetencies/coursecompetencies.module'; - -const routes: Routes = [ - { - path: '', - component: AddonCompetencyCourseCompetenciesPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - AddonCompetencyCourseCompetenciesPageModule, - ], -}) -export default class AddonCompetencyCourseContentsLazyModule {} diff --git a/src/addons/competency/competency-course-details-lazy.module.ts b/src/addons/competency/competency-course-details-lazy.module.ts index 074d4dbb0fd..fc207aa7ea0 100644 --- a/src/addons/competency/competency-course-details-lazy.module.ts +++ b/src/addons/competency/competency-course-details-lazy.module.ts @@ -15,37 +15,29 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { AddonCompetencyCompetencyPage } from './pages/competency/competency.page'; -import { AddonCompetencyCompetencySummaryPage } from './pages/competencysummary/competencysummary.page'; import { ADDON_COMPETENCY_SUMMARY_PAGE } from './constants'; -import { AddonCompetencyCompetencyPageModule } from './pages/competency/competency.module'; -import { AddonCompetencyCompetencySummaryPageModule } from './pages/competencysummary/competencysummary.module'; -import { AddonCompetencyCourseCompetenciesPage } from './pages/coursecompetencies/coursecompetencies.page'; -import { AddonCompetencyCourseCompetenciesPageModule } from './pages/coursecompetencies/coursecompetencies.module'; -import { AddonCompetencyCompetenciesPage } from './pages/competencies/competencies.page'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { AddonCompetencyCompetenciesPageModule } from './pages/competencies/competencies.module'; const mobileRoutes: Routes = [ { path: '', - component: AddonCompetencyCourseCompetenciesPage, + loadComponent: () => import('./pages/coursecompetencies/coursecompetencies'), }, { path: ':competencyId', - component: AddonCompetencyCompetencyPage, + loadComponent: () => import('./pages/competency/competency'), }, ]; const tabletRoutes: Routes = [ { path: '', - component: AddonCompetencyCompetenciesPage, + loadComponent: () => import('./pages/competencies/competencies'), children: [ { path: ':competencyId', - component: AddonCompetencyCompetencyPage, + loadComponent: () => import('./pages/competency/competency'), }, ], }, @@ -56,17 +48,13 @@ const routes: Routes = [ ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), { path: `:competencyId/${ADDON_COMPETENCY_SUMMARY_PAGE}`, - component: AddonCompetencyCompetencySummaryPage, + loadComponent: () => import('./pages/competencysummary/competencysummary'), }, ]; @NgModule({ imports: [ RouterModule.forChild(routes), - AddonCompetencyCourseCompetenciesPageModule, - AddonCompetencyCompetenciesPageModule, - AddonCompetencyCompetencyPageModule, - AddonCompetencyCompetencySummaryPageModule, ], }) export default class AddonCompetencyCourseDetailsLazyModule {} diff --git a/src/addons/competency/competency-learning-plans-lazy.module.ts b/src/addons/competency/competency-learning-plans-lazy.module.ts index e6efc55637b..04e381ae8cb 100644 --- a/src/addons/competency/competency-learning-plans-lazy.module.ts +++ b/src/addons/competency/competency-learning-plans-lazy.module.ts @@ -17,51 +17,42 @@ import { RouterModule, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonCompetencyPlanPage } from './pages/plan/plan'; -import { AddonCompetencyPlanListPage } from './pages/planlist/planlist'; -import { AddonCompetencyCompetencyPage } from './pages/competency/competency.page'; -import { AddonCompetencyCompetencySummaryPage } from './pages/competencysummary/competencysummary.page'; import { ADDON_COMPETENCY_COMPETENCIES_PAGE, ADDON_COMPETENCY_SUMMARY_PAGE } from './constants'; -import { AddonCompetencyCompetencyPageModule } from './pages/competency/competency.module'; -import { AddonCompetencyCompetencySummaryPageModule } from './pages/competencysummary/competencysummary.module'; -import { AddonCompetencyCompetenciesPage } from './pages/competencies/competencies.page'; -import { AddonCompetencyCompetenciesPageModule } from './pages/competencies/competencies.module'; const mobileRoutes: Routes = [ { path: '', pathMatch: 'full', - component: AddonCompetencyPlanListPage, + loadComponent: () => import('./pages/planlist/planlist'), }, { path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, - component: AddonCompetencyPlanPage, + loadComponent: () => import('./pages/plan/plan'), }, { path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}/:competencyId`, - component: AddonCompetencyCompetencyPage, + loadComponent: () => import('./pages/competency/competency'), }, ]; const tabletRoutes: Routes = [ { path: '', - component: AddonCompetencyPlanListPage, + loadComponent: () => import('./pages/planlist/planlist'), children: [ { path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, - component: AddonCompetencyPlanPage, + loadComponent: () => import('./pages/plan/plan'), }, ], }, { path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, - component: AddonCompetencyCompetenciesPage, + loadComponent: () => import('./pages/competencies/competencies'), children: [ { path: ':competencyId', - component: AddonCompetencyCompetencyPage, + loadComponent: () => import('./pages/competency/competency'), }, ], }, @@ -72,19 +63,13 @@ const routes: Routes = [ ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), { path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}/:competencyId/${ADDON_COMPETENCY_SUMMARY_PAGE}`, - component: AddonCompetencyCompetencySummaryPage, + loadComponent: () => import('./pages/competencysummary/competencysummary'), }, ]; @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonCompetencyCompetenciesPageModule, - AddonCompetencyCompetencyPageModule, - AddonCompetencyCompetencySummaryPageModule, - AddonCompetencyPlanPage, - AddonCompetencyPlanListPage, ], }) export default class AddonCompetencyLearningPlansLazyModule {} diff --git a/src/addons/competency/competency.module.ts b/src/addons/competency/competency.module.ts index f6f970a3abf..223601edbf3 100644 --- a/src/addons/competency/competency.module.ts +++ b/src/addons/competency/competency.module.ts @@ -64,7 +64,7 @@ const mainMenuChildrenRoutes: Routes = [ const courseIndexRoutes: Routes = [ { path: ADDON_COMPETENCY_COMPETENCIES_PAGE, - loadChildren: () => import('./competency-course-contents-lazy.module'), + loadComponent: () => import('./pages/coursecompetencies/coursecompetencies'), }, ]; diff --git a/src/addons/competency/pages/competencies/competencies.module.ts b/src/addons/competency/pages/competencies/competencies.module.ts deleted file mode 100644 index 83cdb4f4a56..00000000000 --- a/src/addons/competency/pages/competencies/competencies.module.ts +++ /dev/null @@ -1,26 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonCompetencyCompetenciesPage } from './competencies.page'; - -@NgModule({ - imports: [ - CoreSharedModule, - AddonCompetencyCompetenciesPage, - ], -}) -export class AddonCompetencyCompetenciesPageModule {} diff --git a/src/addons/competency/pages/competencies/competencies.page.ts b/src/addons/competency/pages/competencies/competencies.ts similarity index 98% rename from src/addons/competency/pages/competencies/competencies.page.ts rename to src/addons/competency/pages/competencies/competencies.ts index 99aa51ad27e..31ee2d0f31a 100644 --- a/src/addons/competency/pages/competencies/competencies.page.ts +++ b/src/addons/competency/pages/competencies/competencies.ts @@ -43,7 +43,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCompetencyCompetenciesPage implements AfterViewInit, OnDestroy { +export default class AddonCompetencyCompetenciesPage implements AfterViewInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; diff --git a/src/addons/competency/pages/competency/competency.module.ts b/src/addons/competency/pages/competency/competency.module.ts deleted file mode 100644 index acfaaafbd83..00000000000 --- a/src/addons/competency/pages/competency/competency.module.ts +++ /dev/null @@ -1,26 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonCompetencyCompetencyPage } from './competency.page'; - -@NgModule({ - imports: [ - CoreSharedModule, - AddonCompetencyCompetencyPage, - ], -}) -export class AddonCompetencyCompetencyPageModule {} diff --git a/src/addons/competency/pages/competency/competency.page.ts b/src/addons/competency/pages/competency/competency.ts similarity index 99% rename from src/addons/competency/pages/competency/competency.page.ts rename to src/addons/competency/pages/competency/competency.ts index 8eff747ec20..8681760c7e1 100644 --- a/src/addons/competency/pages/competency/competency.page.ts +++ b/src/addons/competency/pages/competency/competency.ts @@ -54,7 +54,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCompetencyCompetencyPage implements OnInit, OnDestroy { +export default class AddonCompetencyCompetencyPage implements OnInit, OnDestroy { competencyLoaded = false; competencies!: AddonCompetencyCompetenciesSwipeManager; diff --git a/src/addons/competency/pages/competencysummary/competencysummary.module.ts b/src/addons/competency/pages/competencysummary/competencysummary.module.ts deleted file mode 100644 index bdab9baec0b..00000000000 --- a/src/addons/competency/pages/competencysummary/competencysummary.module.ts +++ /dev/null @@ -1,26 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonCompetencyCompetencySummaryPage } from './competencysummary.page'; - -@NgModule({ - imports: [ - CoreSharedModule, - AddonCompetencyCompetencySummaryPage, - ], -}) -export class AddonCompetencyCompetencySummaryPageModule {} diff --git a/src/addons/competency/pages/competencysummary/competencysummary.page.ts b/src/addons/competency/pages/competencysummary/competencysummary.ts similarity index 98% rename from src/addons/competency/pages/competencysummary/competencysummary.page.ts rename to src/addons/competency/pages/competencysummary/competencysummary.ts index bf2484ae007..d38093f0b50 100644 --- a/src/addons/competency/pages/competencysummary/competencysummary.page.ts +++ b/src/addons/competency/pages/competencysummary/competencysummary.ts @@ -34,7 +34,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCompetencyCompetencySummaryPage implements OnInit { +export default class AddonCompetencyCompetencySummaryPage implements OnInit { competencyLoaded = false; competencyId!: number; diff --git a/src/addons/competency/pages/coursecompetencies/coursecompetencies.module.ts b/src/addons/competency/pages/coursecompetencies/coursecompetencies.module.ts deleted file mode 100644 index 77b380d6230..00000000000 --- a/src/addons/competency/pages/coursecompetencies/coursecompetencies.module.ts +++ /dev/null @@ -1,26 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonCompetencyCourseCompetenciesPage } from './coursecompetencies.page'; - -@NgModule({ - imports: [ - CoreSharedModule, - AddonCompetencyCourseCompetenciesPage, - ], -}) -export class AddonCompetencyCourseCompetenciesPageModule {} diff --git a/src/addons/competency/pages/coursecompetencies/coursecompetencies.page.ts b/src/addons/competency/pages/coursecompetencies/coursecompetencies.ts similarity index 98% rename from src/addons/competency/pages/coursecompetencies/coursecompetencies.page.ts rename to src/addons/competency/pages/coursecompetencies/coursecompetencies.ts index 8d61a0c0409..bbcb41f7694 100644 --- a/src/addons/competency/pages/coursecompetencies/coursecompetencies.page.ts +++ b/src/addons/competency/pages/coursecompetencies/coursecompetencies.ts @@ -42,7 +42,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCompetencyCourseCompetenciesPage implements OnInit, OnDestroy { +export default class AddonCompetencyCourseCompetenciesPage implements OnInit, OnDestroy { competencies!: CoreListItemsManager< AddonCompetencyDataForCourseCompetenciesPageCompetency, diff --git a/src/addons/competency/pages/plan/plan.ts b/src/addons/competency/pages/plan/plan.ts index 69b767d083d..3f1a27ad558 100644 --- a/src/addons/competency/pages/plan/plan.ts +++ b/src/addons/competency/pages/plan/plan.ts @@ -37,7 +37,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCompetencyPlanPage implements OnInit, OnDestroy { +export default class AddonCompetencyPlanPage implements OnInit, OnDestroy { plans!: CoreSwipeNavigationItemsManager; competencies!: CoreListItemsManager; diff --git a/src/addons/competency/pages/planlist/planlist.ts b/src/addons/competency/pages/planlist/planlist.ts index 0bf23583d65..0b18fe293b6 100644 --- a/src/addons/competency/pages/planlist/planlist.ts +++ b/src/addons/competency/pages/planlist/planlist.ts @@ -36,7 +36,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCompetencyPlanListPage implements AfterViewInit, OnDestroy { +export default class AddonCompetencyPlanListPage implements AfterViewInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; diff --git a/src/addons/coursecompletion/coursecompletion-lazy.module.ts b/src/addons/coursecompletion/coursecompletion-lazy.module.ts deleted file mode 100644 index 29e8bea35c0..00000000000 --- a/src/addons/coursecompletion/coursecompletion-lazy.module.ts +++ /dev/null @@ -1,38 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { AddonCourseCompletionReportPage } from './pages/report/report'; - -const routes: Routes = [ - { - path: '', - component: AddonCourseCompletionReportPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - CoreCommentsComponentsModule, - CoreTagComponentsModule, - AddonCourseCompletionReportPage, - ], -}) -export default class AddonCourseCompletionLazyModule {} diff --git a/src/addons/coursecompletion/coursecompletion.module.ts b/src/addons/coursecompletion/coursecompletion.module.ts index 68738252069..e99e5adf701 100644 --- a/src/addons/coursecompletion/coursecompletion.module.ts +++ b/src/addons/coursecompletion/coursecompletion.module.ts @@ -39,7 +39,7 @@ export async function getCourseCompletionServices(): Promise[]> { const routes: Routes = [ { path: 'coursecompletion', - loadChildren: () => import('./coursecompletion-lazy.module'), + loadComponent: () => import('./pages/report/report'), }, ]; diff --git a/src/addons/coursecompletion/pages/report/report.ts b/src/addons/coursecompletion/pages/report/report.ts index 2d8df1cd95b..bc466d1f482 100644 --- a/src/addons/coursecompletion/pages/report/report.ts +++ b/src/addons/coursecompletion/pages/report/report.ts @@ -38,7 +38,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonCourseCompletionReportPage implements OnInit { +export default class AddonCourseCompletionReportPage implements OnInit { protected userId!: number; protected logView: () => void; diff --git a/src/addons/messageoutput/airnotifier/airnotifier.module.ts b/src/addons/messageoutput/airnotifier/airnotifier.module.ts index 656db8d08e9..5cd3176ad0d 100644 --- a/src/addons/messageoutput/airnotifier/airnotifier.module.ts +++ b/src/addons/messageoutput/airnotifier/airnotifier.module.ts @@ -22,21 +22,17 @@ import { AddonMessageOutputAirnotifierHandlerService, } from './services/handlers/messageoutput'; import { AddonMessageOutputAirnotifier } from './services/airnotifier'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonMessageOutputAirnotifierDevicesPage } from '@addons/messageoutput/airnotifier/pages/devices/devices'; const routes: Routes = [ { path: AddonMessageOutputAirnotifierHandlerService.PAGE_NAME, - component: AddonMessageOutputAirnotifierDevicesPage, + loadComponent: () => import('./pages/devices/devices'), }, ]; @NgModule({ imports: [ - CoreSharedModule, CoreMainMenuTabRoutingModule.forChild(routes), - AddonMessageOutputAirnotifierDevicesPage, ], providers: [ { diff --git a/src/addons/messageoutput/airnotifier/pages/devices/devices.ts b/src/addons/messageoutput/airnotifier/pages/devices/devices.ts index d9dd4d5967b..e56bd73d914 100644 --- a/src/addons/messageoutput/airnotifier/pages/devices/devices.ts +++ b/src/addons/messageoutput/airnotifier/pages/devices/devices.ts @@ -30,7 +30,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonMessageOutputAirnotifierDevicesPage implements OnInit, OnDestroy { +export default class AddonMessageOutputAirnotifierDevicesPage implements OnInit, OnDestroy { platformDevices: AddonMessageOutputAirnotifierPlatformDevices[] = []; loaded = false; diff --git a/src/addons/messages/messages-lazy.module.ts b/src/addons/messages/messages-lazy.module.ts index 201b6ac77e8..8bd3cf95540 100644 --- a/src/addons/messages/messages-lazy.module.ts +++ b/src/addons/messages/messages-lazy.module.ts @@ -13,17 +13,10 @@ // limitations under the License. import { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonMessagesContactsPage } from '@addons/messages/pages/contacts/contacts'; -import { AddonMessagesDiscussionPage } from '@addons/messages/pages/discussion/discussion'; -import { AddonMessagesGroupConversationsPage } from '@addons/messages/pages/group-conversations/group-conversations'; -import { AddonMessagesSearchPage } from '@addons/messages/pages/search/search'; import { Injector, NgModule } from '@angular/core'; import { Route, ROUTES, Routes } from '@angular/router'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; import { CoreScreen } from '@services/screen'; import { messagesIndexGuard } from './guards'; import { ADDON_MESSAGES_PAGE_NAME } from './constants'; @@ -38,18 +31,18 @@ function buildRoutes(injector: Injector): Routes { const discussionRoutes: Route[] = [ { path: 'discussion/user/:userId', - component: AddonMessagesDiscussionPage, + loadComponent: () => import('./pages/discussion/discussion'), }, { path: 'discussion/:conversationId', - component: AddonMessagesDiscussionPage, + loadComponent: () => import('./pages/discussion/discussion'), }, ]; const mobileRoutes: Routes = [ { path: 'contacts', // 3.6 or greater. - component: AddonMessagesContactsPage, + loadComponent: () => import('./pages/contacts/contacts'), }, { path: 'index', @@ -63,11 +56,11 @@ function buildRoutes(injector: Injector): Routes { { path: 'group-conversations', // 3.6 or greater. data: { mainMenuTabRoot: ADDON_MESSAGES_PAGE_NAME }, - component: AddonMessagesGroupConversationsPage, + loadComponent: () => import('./pages/group-conversations/group-conversations'), }, { path: 'search', - component: AddonMessagesSearchPage, + loadComponent: () => import('./pages/search/search'), }, ] .reduce((routes, mobileRoute) => [ @@ -82,7 +75,7 @@ function buildRoutes(injector: Injector): Routes { const tabletRoutes: Routes = [ { path: 'contacts', // 3.6 or greater. - component: AddonMessagesContactsPage, + loadComponent: () => import('./pages/contacts/contacts'), children: discussionRoutes, }, { @@ -99,12 +92,12 @@ function buildRoutes(injector: Injector): Routes { { path: 'group-conversations', // 3.6 or greater. data: { mainMenuTabRoot: ADDON_MESSAGES_PAGE_NAME }, - component: AddonMessagesGroupConversationsPage, + loadComponent: () => import('./pages/group-conversations/group-conversations'), children: discussionRoutes, }, { path: 'search', - component: AddonMessagesSearchPage, + loadComponent: () => import('./pages/search/search'), children: discussionRoutes, }, ]; @@ -124,15 +117,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - CoreSearchComponentsModule, - CoreMainMenuComponentsModule, - AddonMessagesContactsPage, - AddonMessagesDiscussionPage, - AddonMessagesGroupConversationsPage, - AddonMessagesSearchPage, - ], providers: [ { provide: ROUTES, diff --git a/src/addons/messages/pages/contacts/contacts.ts b/src/addons/messages/pages/contacts/contacts.ts index 5c7cc6de8b9..c6c0f4d7e52 100644 --- a/src/addons/messages/pages/contacts/contacts.ts +++ b/src/addons/messages/pages/contacts/contacts.ts @@ -39,7 +39,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonMessagesContactsPage implements OnInit, OnDestroy { +export default class AddonMessagesContactsPage implements OnInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; diff --git a/src/addons/messages/pages/discussion/discussion.ts b/src/addons/messages/pages/discussion/discussion.ts index 0f9f8ce6806..7aa8a028162 100644 --- a/src/addons/messages/pages/discussion/discussion.ts +++ b/src/addons/messages/pages/discussion/discussion.ts @@ -71,7 +71,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonMessagesDiscussionPage implements OnInit, OnDestroy, AfterViewInit { +export default class AddonMessagesDiscussionPage implements OnInit, OnDestroy, AfterViewInit { @ViewChild(IonContent) content?: IonContent; @ViewChild(CoreInfiniteLoadingComponent) infinite?: CoreInfiniteLoadingComponent; diff --git a/src/addons/messages/pages/group-conversations/group-conversations.ts b/src/addons/messages/pages/group-conversations/group-conversations.ts index d648fbdb777..189d8710a07 100644 --- a/src/addons/messages/pages/group-conversations/group-conversations.ts +++ b/src/addons/messages/pages/group-conversations/group-conversations.ts @@ -71,7 +71,7 @@ const enum AddonMessagesGroupConversationOptionNames { CoreMainMenuComponentsModule, ], }) -export class AddonMessagesGroupConversationsPage implements OnInit, OnDestroy { +export default class AddonMessagesGroupConversationsPage implements OnInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; @ViewChild(IonContent) content?: IonContent; diff --git a/src/addons/messages/pages/search/search.ts b/src/addons/messages/pages/search/search.ts index ac0d398cd26..70894b121cc 100644 --- a/src/addons/messages/pages/search/search.ts +++ b/src/addons/messages/pages/search/search.ts @@ -46,7 +46,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSearchComponentsModule, ], }) -export class AddonMessagesSearchPage implements OnDestroy { +export default class AddonMessagesSearchPage implements OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; diff --git a/src/addons/mod/assign/assign-lazy.module.ts b/src/addons/mod/assign/assign-lazy.module.ts index 5069df28d47..a37edba70eb 100644 --- a/src/addons/mod/assign/assign-lazy.module.ts +++ b/src/addons/mod/assign/assign-lazy.module.ts @@ -13,25 +13,19 @@ // limitations under the License. import { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { canLeaveGuard } from '@guards/can-leave'; import { CoreScreen } from '@services/screen'; -import { AddonModAssignComponentsModule } from './components/components.module'; -import { AddonModAssignEditPage } from './pages/edit/edit'; -import { AddonModAssignIndexPage } from './pages/index'; -import { AddonModAssignSubmissionListPage } from './pages/submission-list/submission-list'; -import { AddonModAssignSubmissionReviewPage } from './pages/submission-review/submission-review'; const commonRoutes: Routes = [ { path: ':courseId/:cmId', - component: AddonModAssignIndexPage, + loadComponent: () => import('./pages/index'), }, { path: ':courseId/:cmId/edit', - component: AddonModAssignEditPage, + loadComponent: () => import('./pages/edit/edit'), canDeactivate: [canLeaveGuard], }, ]; @@ -40,11 +34,11 @@ const mobileRoutes: Routes = [ ...commonRoutes, { path: ':courseId/:cmId/submission', - component: AddonModAssignSubmissionListPage, + loadComponent: () => import('./pages/submission-list/submission-list'), }, { path: ':courseId/:cmId/submission/:submitId', - component: AddonModAssignSubmissionReviewPage, + loadComponent: () => import('./pages/submission-review/submission-review'), canDeactivate: [canLeaveGuard], }, ]; @@ -53,11 +47,11 @@ const tabletRoutes: Routes = [ ...commonRoutes, { path: ':courseId/:cmId/submission', - component: AddonModAssignSubmissionListPage, + loadComponent: () => import('./pages/submission-list/submission-list'), children: [ { path: ':submitId', - component: AddonModAssignSubmissionReviewPage, + loadComponent: () => import('./pages/submission-review/submission-review'), canDeactivate: [canLeaveGuard], }, ], @@ -72,12 +66,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonModAssignComponentsModule, - AddonModAssignIndexPage, - AddonModAssignSubmissionListPage, - AddonModAssignSubmissionReviewPage, - AddonModAssignEditPage, ], }) export default class AddonModAssignLazyModule {} diff --git a/src/addons/mod/assign/components/components.module.ts b/src/addons/mod/assign/components/components.module.ts index b310030faaa..18a6c76803f 100644 --- a/src/addons/mod/assign/components/components.module.ts +++ b/src/addons/mod/assign/components/components.module.ts @@ -14,25 +14,11 @@ import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { AddonModAssignIndexComponent } from './index/index'; -import { AddonModAssignSubmissionComponent } from './submission/submission'; import { AddonModAssignSubmissionPluginComponent } from './submission-plugin/submission-plugin'; import { AddonModAssignFeedbackPluginComponent } from './feedback-plugin/feedback-plugin'; @NgModule({ imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModAssignIndexComponent, - AddonModAssignSubmissionComponent, - AddonModAssignSubmissionPluginComponent, - AddonModAssignFeedbackPluginComponent, - ], - exports: [ - AddonModAssignIndexComponent, - AddonModAssignSubmissionComponent, AddonModAssignSubmissionPluginComponent, AddonModAssignFeedbackPluginComponent, ], diff --git a/src/addons/mod/assign/components/edit-feedback-modal/edit-feedback-modal.ts b/src/addons/mod/assign/components/edit-feedback-modal/edit-feedback-modal.ts index 5bc1dc7de6b..c54741619a6 100644 --- a/src/addons/mod/assign/components/edit-feedback-modal/edit-feedback-modal.ts +++ b/src/addons/mod/assign/components/edit-feedback-modal/edit-feedback-modal.ts @@ -20,8 +20,8 @@ import { ModalController } from '@singletons'; import { AddonModAssignAssign, AddonModAssignPlugin, AddonModAssignSubmission } from '../../services/assign'; import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate'; import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModAssignComponentsModule } from '../components.module'; import { CoreAlerts } from '@services/overlays/alerts'; +import { AddonModAssignFeedbackPluginComponent } from '../feedback-plugin/feedback-plugin'; /** * Modal that allows editing a feedback plugin. @@ -32,7 +32,7 @@ import { CoreAlerts } from '@services/overlays/alerts'; standalone: true, imports: [ CoreSharedModule, - AddonModAssignComponentsModule, + AddonModAssignFeedbackPluginComponent, ], }) export class AddonModAssignEditFeedbackModalComponent { diff --git a/src/addons/mod/assign/feedback/comments/comments.module.ts b/src/addons/mod/assign/feedback/comments/comments.module.ts index 369facaebfc..0b9316ebff2 100644 --- a/src/addons/mod/assign/feedback/comments/comments.module.ts +++ b/src/addons/mod/assign/feedback/comments/comments.module.ts @@ -14,17 +14,9 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonModAssignFeedbackCommentsHandler } from './services/handler'; -import { AddonModAssignFeedbackCommentsComponent } from './component/comments'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate'; @NgModule({ - imports: [ - CoreSharedModule, - CoreEditorComponentsModule, - AddonModAssignFeedbackCommentsComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -34,8 +26,5 @@ import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate }, }, ], - exports: [ - AddonModAssignFeedbackCommentsComponent, - ], }) export class AddonModAssignFeedbackCommentsModule {} diff --git a/src/addons/mod/assign/feedback/editpdf/editpdf.module.ts b/src/addons/mod/assign/feedback/editpdf/editpdf.module.ts index df0c6abf078..b6fe3326353 100644 --- a/src/addons/mod/assign/feedback/editpdf/editpdf.module.ts +++ b/src/addons/mod/assign/feedback/editpdf/editpdf.module.ts @@ -14,15 +14,9 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonModAssignFeedbackEditPdfHandler } from './services/handler'; -import { AddonModAssignFeedbackEditPdfComponent } from './component/editpdf'; -import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModAssignFeedbackEditPdfComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate }, }, ], - exports: [ - AddonModAssignFeedbackEditPdfComponent, - ], }) export class AddonModAssignFeedbackEditPdfModule {} diff --git a/src/addons/mod/assign/feedback/file/file.module.ts b/src/addons/mod/assign/feedback/file/file.module.ts index 499ad8564df..23e33eaa05b 100644 --- a/src/addons/mod/assign/feedback/file/file.module.ts +++ b/src/addons/mod/assign/feedback/file/file.module.ts @@ -14,15 +14,9 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonModAssignFeedbackFileHandler } from './services/handler'; -import { AddonModAssignFeedbackFileComponent } from './component/file'; -import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModAssignFeedbackFileComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModAssignFeedbackDelegate } from '../../services/feedback-delegate }, }, ], - exports: [ - AddonModAssignFeedbackFileComponent, - ], }) export class AddonModAssignFeedbackFileModule {} diff --git a/src/addons/mod/assign/pages/edit/edit.ts b/src/addons/mod/assign/pages/edit/edit.ts index 81287f29bb7..1eb26890cbd 100644 --- a/src/addons/mod/assign/pages/edit/edit.ts +++ b/src/addons/mod/assign/pages/edit/edit.ts @@ -64,7 +64,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModAssignSubmissionPluginComponent, ], }) -export class AddonModAssignEditPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModAssignEditPage implements OnInit, OnDestroy, CanLeave { @ViewChild('editSubmissionForm') formElement?: ElementRef; diff --git a/src/addons/mod/assign/pages/index/index.ts b/src/addons/mod/assign/pages/index/index.ts index 0b017c67886..611db5a73ef 100644 --- a/src/addons/mod/assign/pages/index/index.ts +++ b/src/addons/mod/assign/pages/index/index.ts @@ -31,7 +31,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModAssignIndexComponent, ], }) -export class AddonModAssignIndexPage extends CoreCourseModuleMainActivityPage +export default class AddonModAssignIndexPage extends CoreCourseModuleMainActivityPage implements AfterViewInit { private action?: string; diff --git a/src/addons/mod/assign/pages/submission-list/submission-list.ts b/src/addons/mod/assign/pages/submission-list/submission-list.ts index 4c675f93330..47669ecfcae 100644 --- a/src/addons/mod/assign/pages/submission-list/submission-list.ts +++ b/src/addons/mod/assign/pages/submission-list/submission-list.ts @@ -47,7 +47,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModAssignSubmissionListPage implements AfterViewInit, OnDestroy { +export default class AddonModAssignSubmissionListPage implements AfterViewInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; diff --git a/src/addons/mod/assign/pages/submission-review/submission-review.ts b/src/addons/mod/assign/pages/submission-review/submission-review.ts index 0c5a85b833c..1965241dca3 100644 --- a/src/addons/mod/assign/pages/submission-review/submission-review.ts +++ b/src/addons/mod/assign/pages/submission-review/submission-review.ts @@ -41,7 +41,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModAssignSubmissionComponent, ], }) -export class AddonModAssignSubmissionReviewPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModAssignSubmissionReviewPage implements OnInit, OnDestroy, CanLeave { @ViewChild(AddonModAssignSubmissionComponent) submissionComponent?: AddonModAssignSubmissionComponent; diff --git a/src/addons/mod/assign/submission/comments/comments.module.ts b/src/addons/mod/assign/submission/comments/comments.module.ts index 57584488209..14dff4467fc 100644 --- a/src/addons/mod/assign/submission/comments/comments.module.ts +++ b/src/addons/mod/assign/submission/comments/comments.module.ts @@ -14,17 +14,9 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonModAssignSubmissionCommentsHandler } from './services/handler'; -import { AddonModAssignSubmissionCommentsComponent } from './component/comments'; -import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignSubmissionDelegate } from '../../services/submission-delegate'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; @NgModule({ - imports: [ - CoreSharedModule, - CoreCommentsComponentsModule, - AddonModAssignSubmissionCommentsComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -34,8 +26,5 @@ import { CoreCommentsComponentsModule } from '@features/comments/components/comp }, }, ], - exports: [ - AddonModAssignSubmissionCommentsComponent, - ], }) export class AddonModAssignSubmissionCommentsModule {} diff --git a/src/addons/mod/assign/submission/file/file.module.ts b/src/addons/mod/assign/submission/file/file.module.ts index b071496b53f..951fd33a6fd 100644 --- a/src/addons/mod/assign/submission/file/file.module.ts +++ b/src/addons/mod/assign/submission/file/file.module.ts @@ -14,15 +14,9 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonModAssignSubmissionFileHandler } from './services/handler'; -import { AddonModAssignSubmissionFileComponent } from './component/file'; -import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignSubmissionDelegate } from '../../services/submission-delegate'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModAssignSubmissionFileComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModAssignSubmissionDelegate } from '../../services/submission-dele }, }, ], - exports: [ - AddonModAssignSubmissionFileComponent, - ], }) export class AddonModAssignSubmissionFileModule {} diff --git a/src/addons/mod/assign/submission/onlinetext/onlinetext.module.ts b/src/addons/mod/assign/submission/onlinetext/onlinetext.module.ts index 4acbaf4d105..2e2fc6f7fc0 100644 --- a/src/addons/mod/assign/submission/onlinetext/onlinetext.module.ts +++ b/src/addons/mod/assign/submission/onlinetext/onlinetext.module.ts @@ -14,17 +14,9 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonModAssignSubmissionOnlineTextHandler } from './services/handler'; -import { AddonModAssignSubmissionOnlineTextComponent } from './component/onlinetext'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { CoreSharedModule } from '@/core/shared.module'; import { AddonModAssignSubmissionDelegate } from '../../services/submission-delegate'; @NgModule({ - imports: [ - CoreSharedModule, - CoreEditorComponentsModule, - AddonModAssignSubmissionOnlineTextComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -34,8 +26,5 @@ import { AddonModAssignSubmissionDelegate } from '../../services/submission-dele }, }, ], - exports: [ - AddonModAssignSubmissionOnlineTextComponent, - ], }) export class AddonModAssignSubmissionOnlineTextModule {} diff --git a/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts b/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts deleted file mode 100644 index 04e182c3c9f..00000000000 --- a/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn-lazy.module.ts +++ /dev/null @@ -1,36 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModBBBComponentsModule } from './components/components.module'; -import { AddonModBBBIndexPage } from './pages/index/index'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModBBBIndexPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModBBBComponentsModule, - AddonModBBBIndexPage, - ], -}) -export default class AddonModBBBLazyModule {} diff --git a/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn.module.ts b/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn.module.ts index b81a3185b72..ee29ac1db49 100644 --- a/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn.module.ts +++ b/src/addons/mod/bigbluebuttonbn/bigbluebuttonbn.module.ts @@ -24,8 +24,8 @@ import { ADDON_MOD_BBB_PAGE_NAME } from './constants'; const routes: Routes = [ { - path: ADDON_MOD_BBB_PAGE_NAME, - loadChildren: () => import('./bigbluebuttonbn-lazy.module'), + path: `${ADDON_MOD_BBB_PAGE_NAME}/:courseId/:cmId`, + loadComponent: () => import('./pages/index/index'), }, ]; diff --git a/src/addons/mod/bigbluebuttonbn/components/components.module.ts b/src/addons/mod/bigbluebuttonbn/components/components.module.ts deleted file mode 100644 index 5198e254390..00000000000 --- a/src/addons/mod/bigbluebuttonbn/components/components.module.ts +++ /dev/null @@ -1,30 +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 { AddonModBBBIndexComponent } from './index/index'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModBBBIndexComponent, - ], - exports: [ - AddonModBBBIndexComponent, - ], -}) -export class AddonModBBBComponentsModule {} diff --git a/src/addons/mod/bigbluebuttonbn/pages/index/index.ts b/src/addons/mod/bigbluebuttonbn/pages/index/index.ts index b6487fb364b..1befd057326 100644 --- a/src/addons/mod/bigbluebuttonbn/pages/index/index.ts +++ b/src/addons/mod/bigbluebuttonbn/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModBBBIndexComponent, ], }) -export class AddonModBBBIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModBBBIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModBBBIndexComponent) activityComponent?: AddonModBBBIndexComponent; diff --git a/src/addons/mod/book/book-lazy.module.ts b/src/addons/mod/book/book-lazy.module.ts deleted file mode 100644 index 2f3cd267d7b..00000000000 --- a/src/addons/mod/book/book-lazy.module.ts +++ /dev/null @@ -1,44 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModBookComponentsModule } from './components/components.module'; -import { AddonModBookIndexPage } from './pages/index'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { AddonModBookContentsPage } from '@addons/mod/book/pages/contents/contents'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModBookIndexPage, - }, - { - path: ':courseId/:cmId/contents', - component: AddonModBookContentsPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModBookComponentsModule, - CoreTagComponentsModule, - AddonModBookIndexPage, - AddonModBookContentsPage, - ], -}) -export default class AddonModBookLazyModule {} diff --git a/src/addons/mod/book/book.module.ts b/src/addons/mod/book/book.module.ts index 9ae4af590e2..c1d2b16ece1 100644 --- a/src/addons/mod/book/book.module.ts +++ b/src/addons/mod/book/book.module.ts @@ -31,7 +31,16 @@ import { ADDON_MOD_BOOK_PAGE_NAME } from './constants'; const routes: Routes = [ { path: ADDON_MOD_BOOK_PAGE_NAME, - loadChildren: () => import('./book-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/contents', + loadComponent: () => import('./pages/contents/contents'), + }, + ], }, ]; diff --git a/src/addons/mod/book/components/components.module.ts b/src/addons/mod/book/components/components.module.ts deleted file mode 100644 index c5d5961c60c..00000000000 --- a/src/addons/mod/book/components/components.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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -import { AddonModBookIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModBookIndexComponent, - ], - exports: [ - AddonModBookIndexComponent, - ], -}) -export class AddonModBookComponentsModule {} diff --git a/src/addons/mod/book/pages/contents/contents.ts b/src/addons/mod/book/pages/contents/contents.ts index 28e80494fbd..483cf94d164 100644 --- a/src/addons/mod/book/pages/contents/contents.ts +++ b/src/addons/mod/book/pages/contents/contents.ts @@ -54,7 +54,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreTagComponentsModule, ], }) -export class AddonModBookContentsPage implements OnInit, OnDestroy { +export default class AddonModBookContentsPage implements OnInit, OnDestroy { @ViewChild(CoreSwipeSlidesComponent) swipeSlidesComponent?: CoreSwipeSlidesComponent; diff --git a/src/addons/mod/book/pages/index/index.ts b/src/addons/mod/book/pages/index/index.ts index a05fbb4d528..cfeae8ae83b 100644 --- a/src/addons/mod/book/pages/index/index.ts +++ b/src/addons/mod/book/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModBookIndexComponent, ], }) -export class AddonModBookIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModBookIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModBookIndexComponent) activityComponent?: AddonModBookIndexComponent; diff --git a/src/addons/mod/chat/chat-lazy.module.ts b/src/addons/mod/chat/chat-lazy.module.ts index 3ee27165344..da15c407771 100644 --- a/src/addons/mod/chat/chat-lazy.module.ts +++ b/src/addons/mod/chat/chat-lazy.module.ts @@ -14,24 +14,18 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModChatComponentsModule } from './components/components.module'; -import { AddonModChatIndexPage } from './pages/index/index'; -import { AddonModChatChatPage } from './pages/chat/chat'; -import { AddonModChatSessionMessagesPage } from './pages/session-messages/session-messages'; import { CoreScreen } from '@services/screen'; import { conditionalRoutes } from '@/app/app-routing.module'; -import { AddonModChatSessionsPage } from './pages/sessions/sessions'; import { canLeaveGuard } from '@guards/can-leave'; const commonRoutes: Routes = [ { path: ':courseId/:cmId', - component: AddonModChatIndexPage, + loadComponent: () => import('./pages/index/index'), }, { path: ':courseId/:cmId/chat', - component: AddonModChatChatPage, + loadComponent: () => import('./pages/chat/chat'), canDeactivate: [canLeaveGuard], }, ]; @@ -40,11 +34,11 @@ const mobileRoutes: Routes = [ ...commonRoutes, { path: ':courseId/:cmId/sessions', - component: AddonModChatSessionsPage, + loadComponent: () => import('./pages/sessions/sessions'), }, { path: ':courseId/:cmId/sessions/:sessionStart/:sessionEnd', - component: AddonModChatSessionMessagesPage, + loadComponent: () => import('./pages/session-messages/session-messages'), }, ]; @@ -52,11 +46,11 @@ const tabletRoutes: Routes = [ ...commonRoutes, { path: ':courseId/:cmId/sessions', - component: AddonModChatSessionsPage, + loadComponent: () => import('./pages/sessions/sessions'), children: [ { path: ':sessionStart/:sessionEnd', - component: AddonModChatSessionMessagesPage, + loadComponent: () => import('./pages/session-messages/session-messages'), }, ], }, @@ -70,12 +64,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonModChatComponentsModule, - AddonModChatIndexPage, - AddonModChatChatPage, - AddonModChatSessionsPage, - AddonModChatSessionMessagesPage, ], }) export default class AddonModChatLazyModule {} diff --git a/src/addons/mod/chat/components/components.module.ts b/src/addons/mod/chat/components/components.module.ts deleted file mode 100644 index d4270329994..00000000000 --- a/src/addons/mod/chat/components/components.module.ts +++ /dev/null @@ -1,30 +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 { AddonModChatIndexComponent } from './index/index'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModChatIndexComponent, - ], - exports: [ - AddonModChatIndexComponent, - ], -}) -export class AddonModChatComponentsModule {} diff --git a/src/addons/mod/chat/pages/chat/chat.ts b/src/addons/mod/chat/pages/chat/chat.ts index f92453189c5..61ec12157d5 100644 --- a/src/addons/mod/chat/pages/chat/chat.ts +++ b/src/addons/mod/chat/pages/chat/chat.ts @@ -47,7 +47,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModChatChatPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModChatChatPage implements OnInit, OnDestroy, CanLeave { protected static readonly POLL_INTERVAL = 4000; diff --git a/src/addons/mod/chat/pages/index/index.ts b/src/addons/mod/chat/pages/index/index.ts index 725f74572c6..93a64f09677 100644 --- a/src/addons/mod/chat/pages/index/index.ts +++ b/src/addons/mod/chat/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModChatIndexComponent, ], }) -export class AddonModChatIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModChatIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModChatIndexComponent) activityComponent?: AddonModChatIndexComponent; diff --git a/src/addons/mod/chat/pages/session-messages/session-messages.ts b/src/addons/mod/chat/pages/session-messages/session-messages.ts index a5e6f3c02f8..2fdea074fd8 100644 --- a/src/addons/mod/chat/pages/session-messages/session-messages.ts +++ b/src/addons/mod/chat/pages/session-messages/session-messages.ts @@ -37,7 +37,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModChatSessionMessagesPage implements OnInit { +export default class AddonModChatSessionMessagesPage implements OnInit { currentUserId!: number; cmId!: number; diff --git a/src/addons/mod/chat/pages/sessions/sessions.ts b/src/addons/mod/chat/pages/sessions/sessions.ts index 22a5c72c13f..4726dab568e 100644 --- a/src/addons/mod/chat/pages/sessions/sessions.ts +++ b/src/addons/mod/chat/pages/sessions/sessions.ts @@ -39,7 +39,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModChatSessionsPage implements OnInit, AfterViewInit, OnDestroy { +export default class AddonModChatSessionsPage implements OnInit, AfterViewInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; diff --git a/src/addons/mod/choice/choice-lazy.module.ts b/src/addons/mod/choice/choice-lazy.module.ts deleted file mode 100644 index 465c2a74870..00000000000 --- a/src/addons/mod/choice/choice-lazy.module.ts +++ /dev/null @@ -1,36 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModChoiceComponentsModule } from './components/components.module'; -import { AddonModChoiceIndexPage } from './pages/index/index'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModChoiceIndexPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModChoiceComponentsModule, - AddonModChoiceIndexPage, - ], -}) -export default class AddonModChoiceLazyModule {} diff --git a/src/addons/mod/choice/choice.module.ts b/src/addons/mod/choice/choice.module.ts index d681d011d02..893256ed3f7 100644 --- a/src/addons/mod/choice/choice.module.ts +++ b/src/addons/mod/choice/choice.module.ts @@ -32,8 +32,8 @@ import { ADDON_MOD_CHOICE_COMPONENT, ADDON_MOD_CHOICE_PAGE_NAME } from './consta const routes: Routes = [ { - path: ADDON_MOD_CHOICE_PAGE_NAME, - loadChildren: () => import('./choice-lazy.module'), + path: `${ADDON_MOD_CHOICE_PAGE_NAME}/:courseId/:cmId`, + loadComponent: () => import('./pages/index/index'), }, ]; diff --git a/src/addons/mod/choice/components/components.module.ts b/src/addons/mod/choice/components/components.module.ts deleted file mode 100644 index aa244b20a64..00000000000 --- a/src/addons/mod/choice/components/components.module.ts +++ /dev/null @@ -1,30 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { AddonModChoiceIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModChoiceIndexComponent, - ], - exports: [ - AddonModChoiceIndexComponent, - ], -}) -export class AddonModChoiceComponentsModule {} diff --git a/src/addons/mod/choice/pages/index/index.ts b/src/addons/mod/choice/pages/index/index.ts index 345a40ed214..33bc45c31a3 100644 --- a/src/addons/mod/choice/pages/index/index.ts +++ b/src/addons/mod/choice/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModChoiceIndexComponent, ], }) -export class AddonModChoiceIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModChoiceIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModChoiceIndexComponent) activityComponent?: AddonModChoiceIndexComponent; diff --git a/src/addons/mod/data/components/components-compile.module.ts b/src/addons/mod/data/components/components-compile.module.ts deleted file mode 100644 index 9d71a662027..00000000000 --- a/src/addons/mod/data/components/components-compile.module.ts +++ /dev/null @@ -1,36 +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 { AddonModDataFieldPluginComponent } from './field-plugin/field-plugin'; -import { AddonModDataActionComponent } from './action/action'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; - -// This module is intended to be passed to the compiler in order to avoid circular depencencies. -@NgModule({ - imports: [ - CoreSharedModule, - CoreCommentsComponentsModule, - CoreTagComponentsModule, - AddonModDataFieldPluginComponent, - AddonModDataActionComponent, - ], - exports: [ - AddonModDataActionComponent, - AddonModDataFieldPluginComponent, - ], -}) -export class AddonModDataComponentsCompileModule {} diff --git a/src/addons/mod/data/components/components.module.ts b/src/addons/mod/data/components/components.module.ts index 21ccdab5f16..5e9a98c0f80 100644 --- a/src/addons/mod/data/components/components.module.ts +++ b/src/addons/mod/data/components/components.module.ts @@ -13,20 +13,14 @@ // limitations under the License. import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { AddonModDataIndexComponent } from './index'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { AddonModDataFieldPluginComponent } from './field-plugin/field-plugin'; +import { AddonModDataActionComponent } from './action/action'; +// This module is intended to be passed to the compiler in order to avoid circular depencencies. @NgModule({ imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - CoreCompileHtmlComponentModule, - AddonModDataIndexComponent, - ], - exports: [ - AddonModDataIndexComponent, + AddonModDataFieldPluginComponent, + AddonModDataActionComponent, ], }) -export class AddonModDataComponentsModule {} +export class AddonModDataComponentsCompileModule {} diff --git a/src/addons/mod/data/components/index/index.ts b/src/addons/mod/data/components/index/index.ts index 41572f6a36b..0efdd633a44 100644 --- a/src/addons/mod/data/components/index/index.ts +++ b/src/addons/mod/data/components/index/index.ts @@ -39,7 +39,7 @@ import { import { AddonModDataHelper, AddonModDatDisplayFieldsOptions } from '../../services/data-helper'; import { AddonModDataAutoSyncData, AddonModDataSyncResult } from '../../services/data-sync'; import { AddonModDataPrefetchHandler } from '../../services/handlers/prefetch-lazy'; -import { AddonModDataComponentsCompileModule } from '../components-compile.module'; +import { AddonModDataComponentsCompileModule } from '../components.module'; import { CoreUrl } from '@singletons/url'; import { CoreTime } from '@singletons/time'; import { diff --git a/src/addons/mod/data/components/search-modal/search-modal.ts b/src/addons/mod/data/components/search-modal/search-modal.ts index d3c131c96d5..70a9fb7eb9d 100644 --- a/src/addons/mod/data/components/search-modal/search-modal.ts +++ b/src/addons/mod/data/components/search-modal/search-modal.ts @@ -27,7 +27,7 @@ import { } from '../../services/data'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; import { AddonModDataHelper } from '../../services/data-helper'; -import { AddonModDataComponentsCompileModule } from '../components-compile.module'; +import { AddonModDataComponentsCompileModule } from '../components.module'; import { AddonModDataSearchDataParams } from '../index'; import { AddonModDataTemplateType } from '../../constants'; import { CoreSharedModule } from '@/core/shared.module'; diff --git a/src/addons/mod/data/data-lazy.module.ts b/src/addons/mod/data/data-lazy.module.ts deleted file mode 100644 index 2945ad3aba9..00000000000 --- a/src/addons/mod/data/data-lazy.module.ts +++ /dev/null @@ -1,63 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; -import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; -import { canLeaveGuard } from '@guards/can-leave'; -import { AddonModDataComponentsCompileModule } from './components/components-compile.module'; -import { AddonModDataComponentsModule } from './components/components.module'; -import { AddonModDataEditPage } from './pages/edit/edit'; -import { AddonModDataEntryPage } from './pages/entry/entry'; -import { AddonModDataIndexPage } from './pages/index/index'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModDataIndexPage, - }, - { - path: ':courseId/:cmId/edit', - component: AddonModDataEditPage, - canDeactivate: [canLeaveGuard], - }, - { - path: ':courseId/:cmId/edit/:entryId', - component: AddonModDataEditPage, - canDeactivate: [canLeaveGuard], - }, - { - path: ':courseId/:cmId/:entryId', - component: AddonModDataEntryPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModDataComponentsModule, - AddonModDataComponentsCompileModule, - CoreCommentsComponentsModule, - CoreRatingComponentsModule, - CoreCompileHtmlComponentModule, - AddonModDataIndexPage, - AddonModDataEntryPage, - AddonModDataEditPage, - ], -}) -export default class AddonModDataLazyModule {} diff --git a/src/addons/mod/data/data.module.ts b/src/addons/mod/data/data.module.ts index 438caf22b2d..3c1d6fea7dd 100644 --- a/src/addons/mod/data/data.module.ts +++ b/src/addons/mod/data/data.module.ts @@ -35,11 +35,31 @@ import { AddonModDataTagAreaHandler } from './services/handlers/tag-area'; import { AddonModDataFieldModule } from './fields/field.module'; import { CoreCourseHelper } from '@features/course/services/course-helper'; import { ADDON_MOD_DATA_COMPONENT, ADDON_MOD_DATA_PAGE_NAME } from './constants'; +import { canLeaveGuard } from '@guards/can-leave'; const routes: Routes = [ { path: ADDON_MOD_DATA_PAGE_NAME, - loadChildren: () => import('./data-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/edit', + loadComponent: () => import('./pages/edit/edit'), + canDeactivate: [canLeaveGuard], + }, + { + path: ':courseId/:cmId/edit/:entryId', + loadComponent: () => import('./pages/edit/edit'), + canDeactivate: [canLeaveGuard], + }, + { + path: ':courseId/:cmId/:entryId', + loadComponent: () => import('./pages/entry/entry'), + }, + ], }, ]; diff --git a/src/addons/mod/data/fields/checkbox/checkbox.module.ts b/src/addons/mod/data/fields/checkbox/checkbox.module.ts index dae59a4715d..ef480f56cc7 100644 --- a/src/addons/mod/data/fields/checkbox/checkbox.module.ts +++ b/src/addons/mod/data/fields/checkbox/checkbox.module.ts @@ -14,15 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonModDataFieldCheckboxComponent } from './component/checkbox'; -import { CoreSharedModule } from '@/core/shared.module'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; import { AddonModDataFieldCheckboxHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldCheckboxComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +27,5 @@ import { AddonModDataFieldCheckboxHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldCheckboxComponent, - ], }) export class AddonModDataFieldCheckboxModule {} diff --git a/src/addons/mod/data/fields/date/date.module.ts b/src/addons/mod/data/fields/date/date.module.ts index 4de74738ae7..404b9b10c47 100644 --- a/src/addons/mod/data/fields/date/date.module.ts +++ b/src/addons/mod/data/fields/date/date.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldDateComponent } from './component/date'; import { AddonModDataFieldDateHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldDateComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldDateHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldDateComponent, - ], }) export class AddonModDataFieldDateModule {} diff --git a/src/addons/mod/data/fields/file/file.module.ts b/src/addons/mod/data/fields/file/file.module.ts index fb65c81191c..448fb1ded30 100644 --- a/src/addons/mod/data/fields/file/file.module.ts +++ b/src/addons/mod/data/fields/file/file.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldFileComponent } from './component/file'; import { AddonModDataFieldFileHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldFileComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldFileHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldFileComponent, - ], }) export class AddonModDataFieldFileModule {} diff --git a/src/addons/mod/data/fields/latlong/latlong.module.ts b/src/addons/mod/data/fields/latlong/latlong.module.ts index bbf9987b2a5..ac61f63c4da 100644 --- a/src/addons/mod/data/fields/latlong/latlong.module.ts +++ b/src/addons/mod/data/fields/latlong/latlong.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldLatlongComponent } from './component/latlong'; import { AddonModDataFieldLatlongHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldLatlongComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldLatlongHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldLatlongComponent, - ], }) export class AddonModDataFieldLatlongModule {} diff --git a/src/addons/mod/data/fields/menu/menu.module.ts b/src/addons/mod/data/fields/menu/menu.module.ts index 1c497113f88..5585637e5b2 100644 --- a/src/addons/mod/data/fields/menu/menu.module.ts +++ b/src/addons/mod/data/fields/menu/menu.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldMenuComponent } from './component/menu'; import { AddonModDataFieldMenuHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldMenuComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldMenuHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldMenuComponent, - ], }) export class AddonModDataFieldMenuModule {} diff --git a/src/addons/mod/data/fields/multimenu/multimenu.module.ts b/src/addons/mod/data/fields/multimenu/multimenu.module.ts index 7211ce76e3b..a6c8a29cc12 100644 --- a/src/addons/mod/data/fields/multimenu/multimenu.module.ts +++ b/src/addons/mod/data/fields/multimenu/multimenu.module.ts @@ -12,17 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; import { AddonModDataFieldMultimenuComponent } from './component/multimenu'; import { AddonModDataFieldMultimenuHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldMultimenuComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +27,5 @@ import { AddonModDataFieldMultimenuHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldMultimenuComponent, - ], }) export class AddonModDataFieldMultimenuModule {} diff --git a/src/addons/mod/data/fields/number/number.module.ts b/src/addons/mod/data/fields/number/number.module.ts index e0ffb6eeb1d..cb1ee7b0465 100644 --- a/src/addons/mod/data/fields/number/number.module.ts +++ b/src/addons/mod/data/fields/number/number.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldNumberComponent } from './component/number'; import { AddonModDataFieldNumberHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldNumberComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldNumberHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldNumberComponent, - ], }) export class AddonModDataFieldNumberModule {} diff --git a/src/addons/mod/data/fields/picture/picture.module.ts b/src/addons/mod/data/fields/picture/picture.module.ts index ee9366c6c85..9b35eb95a42 100644 --- a/src/addons/mod/data/fields/picture/picture.module.ts +++ b/src/addons/mod/data/fields/picture/picture.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldPictureComponent } from './component/picture'; import { AddonModDataFieldPictureHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldPictureComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldPictureHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldPictureComponent, - ], }) export class AddonModDataFieldPictureModule {} diff --git a/src/addons/mod/data/fields/radiobutton/radiobutton.module.ts b/src/addons/mod/data/fields/radiobutton/radiobutton.module.ts index d70e2d9764e..2d7e072e654 100644 --- a/src/addons/mod/data/fields/radiobutton/radiobutton.module.ts +++ b/src/addons/mod/data/fields/radiobutton/radiobutton.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldRadiobuttonComponent } from './component/radiobutton'; import { AddonModDataFieldRadiobuttonHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldRadiobuttonComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldRadiobuttonHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldRadiobuttonComponent, - ], }) export class AddonModDataFieldRadiobuttonModule {} diff --git a/src/addons/mod/data/fields/text/text.module.ts b/src/addons/mod/data/fields/text/text.module.ts index 90e344d5c5a..189fe7dfbe0 100644 --- a/src/addons/mod/data/fields/text/text.module.ts +++ b/src/addons/mod/data/fields/text/text.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldTextComponent } from './component/text'; import { AddonModDataFieldTextHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldTextComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldTextHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldTextComponent, - ], }) export class AddonModDataFieldTextModule {} diff --git a/src/addons/mod/data/fields/textarea/textarea.module.ts b/src/addons/mod/data/fields/textarea/textarea.module.ts index 92a46c3c0b4..271b4a93a20 100644 --- a/src/addons/mod/data/fields/textarea/textarea.module.ts +++ b/src/addons/mod/data/fields/textarea/textarea.module.ts @@ -12,19 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldTextareaComponent } from './component/textarea'; import { AddonModDataFieldTextareaHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - CoreEditorComponentsModule, - AddonModDataFieldTextareaComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -34,8 +26,5 @@ import { AddonModDataFieldTextareaHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldTextareaComponent, - ], }) export class AddonModDataFieldTextareaModule {} diff --git a/src/addons/mod/data/fields/url/url.module.ts b/src/addons/mod/data/fields/url/url.module.ts index b181d8d0403..794791f6c9d 100644 --- a/src/addons/mod/data/fields/url/url.module.ts +++ b/src/addons/mod/data/fields/url/url.module.ts @@ -12,17 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldUrlComponent } from './component/url'; import { AddonModDataFieldUrlHandler } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModDataFieldUrlComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { AddonModDataFieldUrlHandler } from './services/handler'; }, }, ], - exports: [ - AddonModDataFieldUrlComponent, - ], }) export class AddonModDataFieldUrlModule {} diff --git a/src/addons/mod/data/pages/edit/edit.ts b/src/addons/mod/data/pages/edit/edit.ts index 49843e27861..d02b21536af 100644 --- a/src/addons/mod/data/pages/edit/edit.ts +++ b/src/addons/mod/data/pages/edit/edit.ts @@ -25,7 +25,7 @@ import { CoreForms } from '@singletons/form'; import { CoreUtils } from '@singletons/utils'; import { Translate } from '@singletons'; import { CoreEvents } from '@singletons/events'; -import { AddonModDataComponentsCompileModule } from '../../components/components-compile.module'; +import { AddonModDataComponentsCompileModule } from '../../components/components.module'; import { AddonModDataData, AddonModDataField, @@ -63,7 +63,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreCompileHtmlComponentModule, ], }) -export class AddonModDataEditPage implements OnInit { +export default class AddonModDataEditPage implements OnInit { @ViewChild(IonContent) content?: IonContent; @ViewChild('editFormEl') formElement!: ElementRef; diff --git a/src/addons/mod/data/pages/entry/entry.ts b/src/addons/mod/data/pages/entry/entry.ts index e2454bb3e1b..7555411a28f 100644 --- a/src/addons/mod/data/pages/entry/entry.ts +++ b/src/addons/mod/data/pages/entry/entry.ts @@ -23,7 +23,7 @@ import { CoreNavigator } from '@services/navigator'; import { CoreSites } from '@services/sites'; import { CoreArray } from '@singletons/array'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; -import { AddonModDataComponentsCompileModule } from '../../components/components-compile.module'; +import { AddonModDataComponentsCompileModule } from '../../components/components.module'; import { AddonModData, AddonModDataData, @@ -65,7 +65,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreCommentsComponentsModule, ], }) -export class AddonModDataEntryPage implements OnInit, OnDestroy { +export default class AddonModDataEntryPage implements OnInit, OnDestroy { @ViewChild(IonContent) content?: IonContent; @ViewChild(CoreCommentsCommentsComponent) comments?: CoreCommentsCommentsComponent; diff --git a/src/addons/mod/data/pages/index/index.ts b/src/addons/mod/data/pages/index/index.ts index 06246a60a7b..eaabcd45038 100644 --- a/src/addons/mod/data/pages/index/index.ts +++ b/src/addons/mod/data/pages/index/index.ts @@ -30,7 +30,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModDataIndexComponent, ], }) -export class AddonModDataIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModDataIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { @ViewChild(AddonModDataIndexComponent) activityComponent?: AddonModDataIndexComponent; diff --git a/src/addons/mod/feedback/components/components.module.ts b/src/addons/mod/feedback/components/components.module.ts deleted file mode 100644 index b85b306d5f8..00000000000 --- a/src/addons/mod/feedback/components/components.module.ts +++ /dev/null @@ -1,30 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { AddonModFeedbackIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModFeedbackIndexComponent, - ], - exports: [ - AddonModFeedbackIndexComponent, - ], -}) -export class AddonModFeedbackComponentsModule {} diff --git a/src/addons/mod/feedback/feedback-lazy.module.ts b/src/addons/mod/feedback/feedback-lazy.module.ts index ecb997bd864..9477938a33f 100644 --- a/src/addons/mod/feedback/feedback-lazy.module.ts +++ b/src/addons/mod/feedback/feedback-lazy.module.ts @@ -14,30 +14,23 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModFeedbackComponentsModule } from './components/components.module'; -import { AddonModFeedbackIndexPage } from './pages/index/index'; -import { AddonModFeedbackAttemptsPage } from './pages/attempts/attempts'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { AddonModFeedbackAttemptPage } from '@addons/mod/feedback/pages/attempt/attempt'; -import { AddonModFeedbackFormPage } from '@addons/mod/feedback/pages/form/form'; import { canLeaveGuard } from '@guards/can-leave'; -import { AddonModFeedbackNonRespondentsPage } from '@addons/mod/feedback/pages/nonrespondents/nonrespondents'; const commonRoutes: Routes = [ { path: ':courseId/:cmId', - component: AddonModFeedbackIndexPage, + loadComponent: () => import('./pages/index/index'), }, { path: ':courseId/:cmId/form', - component: AddonModFeedbackFormPage, + loadComponent: () => import('./pages/form/form'), canDeactivate: [canLeaveGuard], }, { path: ':courseId/:cmId/nonrespondents', - component: AddonModFeedbackNonRespondentsPage, + loadComponent: () => import('./pages/nonrespondents/nonrespondents'), }, ]; @@ -45,11 +38,11 @@ const mobileRoutes: Routes = [ ...commonRoutes, { path: ':courseId/:cmId/attempts', - component: AddonModFeedbackAttemptsPage, + loadComponent: () => import('./pages/attempts/attempts'), }, { path: ':courseId/:cmId/attempts/:attemptId', - component: AddonModFeedbackAttemptPage, + loadComponent: () => import('./pages/attempt/attempt'), }, ]; @@ -57,11 +50,11 @@ const tabletRoutes: Routes = [ ...commonRoutes, { path: ':courseId/:cmId/attempts', - component: AddonModFeedbackAttemptsPage, + loadComponent: () => import('./pages/attempts/attempts'), children: [ { path: ':attemptId', - component: AddonModFeedbackAttemptPage, + loadComponent: () => import('./pages/attempt/attempt'), }, ], }, @@ -75,13 +68,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonModFeedbackComponentsModule, - AddonModFeedbackAttemptsPage, - AddonModFeedbackFormPage, - AddonModFeedbackIndexPage, - AddonModFeedbackNonRespondentsPage, - AddonModFeedbackAttemptPage, ], }) export default class AddonModFeedbackLazyModule {} diff --git a/src/addons/mod/feedback/pages/attempt/attempt.ts b/src/addons/mod/feedback/pages/attempt/attempt.ts index 8b97b95ad6b..6818dda386a 100644 --- a/src/addons/mod/feedback/pages/attempt/attempt.ts +++ b/src/addons/mod/feedback/pages/attempt/attempt.ts @@ -43,7 +43,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModFeedbackAttemptPage implements OnInit, OnDestroy { +export default class AddonModFeedbackAttemptPage implements OnInit, OnDestroy { cmId: number; courseId: number; diff --git a/src/addons/mod/feedback/pages/attempts/attempts.ts b/src/addons/mod/feedback/pages/attempts/attempts.ts index 77bd2e8b027..ee3b54744a5 100644 --- a/src/addons/mod/feedback/pages/attempts/attempts.ts +++ b/src/addons/mod/feedback/pages/attempts/attempts.ts @@ -40,7 +40,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModFeedbackAttemptsPage implements AfterViewInit, OnDestroy { +export default class AddonModFeedbackAttemptsPage implements AfterViewInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; diff --git a/src/addons/mod/feedback/pages/form/form.ts b/src/addons/mod/feedback/pages/form/form.ts index 315b8965d97..b17abc95147 100644 --- a/src/addons/mod/feedback/pages/form/form.ts +++ b/src/addons/mod/feedback/pages/form/form.ts @@ -61,7 +61,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModFeedbackFormPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModFeedbackFormPage implements OnInit, OnDestroy, CanLeave { @ViewChild(IonContent) content?: IonContent; diff --git a/src/addons/mod/feedback/pages/index/index.ts b/src/addons/mod/feedback/pages/index/index.ts index adf9f88f412..72304597779 100644 --- a/src/addons/mod/feedback/pages/index/index.ts +++ b/src/addons/mod/feedback/pages/index/index.ts @@ -31,7 +31,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModFeedbackIndexComponent, ], }) -export class AddonModFeedbackIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModFeedbackIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { @ViewChild(AddonModFeedbackIndexComponent) activityComponent?: AddonModFeedbackIndexComponent; diff --git a/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.ts b/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.ts index a7ff74531b4..60f6cce0280 100644 --- a/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.ts +++ b/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.ts @@ -35,7 +35,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModFeedbackNonRespondentsPage implements OnInit { +export default class AddonModFeedbackNonRespondentsPage implements OnInit { protected cmId!: number; protected feedback?: AddonModFeedbackWSFeedback; diff --git a/src/addons/mod/folder/components/components.module.ts b/src/addons/mod/folder/components/components.module.ts deleted file mode 100644 index 396fcd8f4b5..00000000000 --- a/src/addons/mod/folder/components/components.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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -import { AddonModFolderIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModFolderIndexComponent, - ], - exports: [ - AddonModFolderIndexComponent, - ], -}) -export class AddonModFolderComponentsModule {} diff --git a/src/addons/mod/folder/folder-lazy.module.ts b/src/addons/mod/folder/folder-lazy.module.ts deleted file mode 100644 index e19bd260543..00000000000 --- a/src/addons/mod/folder/folder-lazy.module.ts +++ /dev/null @@ -1,43 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModFolderComponentsModule } from './components/components.module'; - -import { AddonModFolderIndexPage } from './pages/index'; - -const routes: Routes = [ - { - path: ':courseId/:cmId/:hash', - component: AddonModFolderIndexPage, - }, - { - path: ':courseId/:cmId', - redirectTo: ':courseId/:cmId/', // Fake "hash". - pathMatch: 'full', - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModFolderComponentsModule, - AddonModFolderIndexPage, - ], -}) -export default class AddonModFolderLazyModule {} diff --git a/src/addons/mod/folder/folder.module.ts b/src/addons/mod/folder/folder.module.ts index c5531762d7b..8f777ab3592 100644 --- a/src/addons/mod/folder/folder.module.ts +++ b/src/addons/mod/folder/folder.module.ts @@ -29,7 +29,17 @@ import { ADDON_MOD_FOLDER_PAGE_NAME } from './constants'; const routes: Routes = [ { path: ADDON_MOD_FOLDER_PAGE_NAME, - loadChildren: () => import('./folder-lazy.module'), + children: [ + { + path: ':courseId/:cmId/:hash', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId', + redirectTo: ':courseId/:cmId/', // Fake "hash". + pathMatch: 'full', + }, + ], }, ]; diff --git a/src/addons/mod/folder/pages/index/index.ts b/src/addons/mod/folder/pages/index/index.ts index 1efc405d505..6fc466fd392 100644 --- a/src/addons/mod/folder/pages/index/index.ts +++ b/src/addons/mod/folder/pages/index/index.ts @@ -32,7 +32,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModFolderIndexComponent, ], }) -export class AddonModFolderIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModFolderIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { @ViewChild(AddonModFolderIndexComponent) activityComponent?: AddonModFolderIndexComponent; diff --git a/src/addons/mod/forum/components/components.module.ts b/src/addons/mod/forum/components/components.module.ts deleted file mode 100644 index 7b1db5062a6..00000000000 --- a/src/addons/mod/forum/components/components.module.ts +++ /dev/null @@ -1,41 +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 { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; - -import { AddonModForumIndexComponent } from './index/index'; -import { AddonModForumPostComponent } from './post/post'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - CoreTagComponentsModule, - CoreEditorComponentsModule, - CoreRatingComponentsModule, - AddonModForumIndexComponent, - AddonModForumPostComponent, - ], - exports: [ - AddonModForumIndexComponent, - AddonModForumPostComponent, - ], -}) -export class AddonModForumComponentsModule {} diff --git a/src/addons/mod/forum/forum-discussion-lazy.module.ts b/src/addons/mod/forum/forum-discussion-lazy.module.ts index b0b69223703..2efb0fb769c 100644 --- a/src/addons/mod/forum/forum-discussion-lazy.module.ts +++ b/src/addons/mod/forum/forum-discussion-lazy.module.ts @@ -15,23 +15,17 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { AddonModForumComponentsModule } from '@addons/mod/forum/components/components.module'; import { canLeaveGuard } from '@guards/can-leave'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModForumDiscussionPage } from '@addons/mod/forum/pages/discussion/discussion'; const routes: Routes = [{ path: '', - component: AddonModForumDiscussionPage, + loadComponent: () => import('./pages/discussion/discussion'), canDeactivate: [canLeaveGuard], }]; @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonModForumComponentsModule, - AddonModForumDiscussionPage, ], }) export default class AddonModForumDiscussionLazyModule {} diff --git a/src/addons/mod/forum/forum-lazy.module.ts b/src/addons/mod/forum/forum-lazy.module.ts index 77b55a54f61..de2c99748b7 100644 --- a/src/addons/mod/forum/forum-lazy.module.ts +++ b/src/addons/mod/forum/forum-lazy.module.ts @@ -17,15 +17,11 @@ import { RouterModule, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { CoreSharedModule } from '@/core/shared.module'; - -import { AddonModForumComponentsModule } from './components/components.module'; -import { AddonModForumIndexPage } from './pages/index'; const mobileRoutes: Routes = [ { path: ':courseId/:cmId', - component: AddonModForumIndexPage, + loadComponent: () => import('./pages/index/index'), }, { path: ':courseId/:cmId/new/:timeCreated', @@ -34,6 +30,7 @@ const mobileRoutes: Routes = [ { path: ':courseId/:cmId/:discussionId', loadChildren: () => import('./forum-discussion-lazy.module'), + }, { path: 'discussion/:discussionId', // Only for discussion link handling. @@ -44,7 +41,7 @@ const mobileRoutes: Routes = [ const tabletRoutes: Routes = [ { path: ':courseId/:cmId', - component: AddonModForumIndexPage, + loadComponent: () => import('./pages/index/index'), children: [ { path: 'new/:timeCreated', @@ -66,9 +63,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonModForumComponentsModule, - AddonModForumIndexPage, ], }) export default class AddonModForumLazyModule {} diff --git a/src/addons/mod/forum/forum-new-discussion-lazy.module.ts b/src/addons/mod/forum/forum-new-discussion-lazy.module.ts index 41afa9c2c4b..f5148360c75 100644 --- a/src/addons/mod/forum/forum-new-discussion-lazy.module.ts +++ b/src/addons/mod/forum/forum-new-discussion-lazy.module.ts @@ -14,26 +14,17 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; - -import { AddonModForumComponentsModule } from '@addons/mod/forum/components/components.module'; import { canLeaveGuard } from '@guards/can-leave'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModForumNewDiscussionPage } from '@addons/mod/forum/pages/new-discussion/new-discussion'; const routes: Routes = [{ path: '', - component: AddonModForumNewDiscussionPage, + loadComponent: () => import('./pages/new-discussion/new-discussion'), canDeactivate: [canLeaveGuard], }]; @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonModForumComponentsModule, - CoreEditorComponentsModule, - AddonModForumNewDiscussionPage, ], }) export default class AddonModForumNewDiscussionLazyModule {} diff --git a/src/addons/mod/forum/forum-search-lazy.module.ts b/src/addons/mod/forum/forum-search-lazy.module.ts deleted file mode 100644 index f2cf4a59de0..00000000000 --- a/src/addons/mod/forum/forum-search-lazy.module.ts +++ /dev/null @@ -1,36 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModForumSearchPage } from '@addons/mod/forum/pages/search/search'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; - -const routes: Routes = [{ - path: '', - component: AddonModForumSearchPage, -}]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - CoreSearchComponentsModule, - CoreMainMenuComponentsModule, - AddonModForumSearchPage, - ], -}) -export default class AddonModForumSearchLazyModule {} diff --git a/src/addons/mod/forum/forum.module.ts b/src/addons/mod/forum/forum.module.ts index 648108b5a0e..0eded424fcb 100644 --- a/src/addons/mod/forum/forum.module.ts +++ b/src/addons/mod/forum/forum.module.ts @@ -44,7 +44,7 @@ import { ADDON_MOD_FORUM_COMPONENT, ADDON_MOD_FORUM_PAGE_NAME, ADDON_MOD_FORUM_S const mainMenuRoutes: Routes = [ { path: ADDON_MOD_FORUM_SEARCH_PAGE_NAME, - loadChildren: () => import('./forum-search-lazy.module'), + loadComponent: () => import('./pages/search/search'), }, { path: `${ADDON_MOD_FORUM_PAGE_NAME}/discussion/:discussionId`, diff --git a/src/addons/mod/forum/pages/discussion/discussion.ts b/src/addons/mod/forum/pages/discussion/discussion.ts index 6714f232dca..9ce4f117bd0 100644 --- a/src/addons/mod/forum/pages/discussion/discussion.ts +++ b/src/addons/mod/forum/pages/discussion/discussion.ts @@ -84,7 +84,7 @@ type Post = AddonModForumPost & { children?: Post[] }; AddonModForumPostComponent, ], }) -export class AddonModForumDiscussionPage implements OnInit, AfterViewInit, OnDestroy, CanLeave { +export default class AddonModForumDiscussionPage implements OnInit, AfterViewInit, OnDestroy, CanLeave { @ViewChild(IonContent) content!: IonContent; diff --git a/src/addons/mod/forum/pages/index/index.ts b/src/addons/mod/forum/pages/index/index.ts index 1f454863668..6e7122ba6be 100644 --- a/src/addons/mod/forum/pages/index/index.ts +++ b/src/addons/mod/forum/pages/index/index.ts @@ -27,7 +27,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModForumIndexComponent, ], }) -export class AddonModForumIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModForumIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModForumIndexComponent) activityComponent?: AddonModForumIndexComponent; 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 8cb80e18c66..d3dd174a181 100644 --- a/src/addons/mod/forum/pages/new-discussion/new-discussion.ts +++ b/src/addons/mod/forum/pages/new-discussion/new-discussion.ts @@ -80,7 +80,7 @@ type NewDiscussionData = { CoreEditorComponentsModule, ], }) -export class AddonModForumNewDiscussionPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModForumNewDiscussionPage implements OnInit, OnDestroy, CanLeave { @ViewChild('newDiscFormEl') formElement!: ElementRef; @ViewChild(CoreEditorRichTextEditorComponent) messageEditor!: CoreEditorRichTextEditorComponent; diff --git a/src/addons/mod/forum/pages/search/search.ts b/src/addons/mod/forum/pages/search/search.ts index 8610d38f5ec..08b74bcb3f6 100644 --- a/src/addons/mod/forum/pages/search/search.ts +++ b/src/addons/mod/forum/pages/search/search.ts @@ -44,7 +44,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSearchComponentsModule, ], }) -export class AddonModForumSearchPage implements OnInit { +export default class AddonModForumSearchPage implements OnInit { loadMoreError = false; searchBanner: string | null = null; diff --git a/src/addons/mod/glossary/components/components.module.ts b/src/addons/mod/glossary/components/components.module.ts deleted file mode 100644 index 63e0bc86219..00000000000 --- a/src/addons/mod/glossary/components/components.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 { AddonModGlossaryIndexComponent } from './index/index'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - CoreSearchComponentsModule, - AddonModGlossaryIndexComponent, - ], - exports: [ - AddonModGlossaryIndexComponent, - ], -}) -export class AddonModGlossaryComponentsModule {} diff --git a/src/addons/mod/glossary/glossary-edit-lazy.module.ts b/src/addons/mod/glossary/glossary-edit-lazy.module.ts index f22ab1efd3f..2c2d441265d 100644 --- a/src/addons/mod/glossary/glossary-edit-lazy.module.ts +++ b/src/addons/mod/glossary/glossary-edit-lazy.module.ts @@ -13,24 +13,18 @@ // limitations under the License. import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; import { RouterModule, Routes } from '@angular/router'; import { canLeaveGuard } from '@guards/can-leave'; -import { AddonModGlossaryEditPage } from '@addons/mod/glossary/pages/edit/edit'; const routes: Routes = [{ path: '', - component: AddonModGlossaryEditPage, + loadComponent: () => import('./pages/edit/edit'), canDeactivate: [canLeaveGuard], }]; @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreEditorComponentsModule, - AddonModGlossaryEditPage, ], }) export default class AddonModGlossaryEditLazyModule {} diff --git a/src/addons/mod/glossary/glossary-entry-lazy.module.ts b/src/addons/mod/glossary/glossary-entry-lazy.module.ts deleted file mode 100644 index 84ecfe99deb..00000000000 --- a/src/addons/mod/glossary/glossary-entry-lazy.module.ts +++ /dev/null @@ -1,38 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; -import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { RouterModule, Routes } from '@angular/router'; -import { AddonModGlossaryEntryPage } from '@addons/mod/glossary/pages/entry/entry'; - -const routes: Routes = [{ - path: '', - component: AddonModGlossaryEntryPage, -}]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - CoreCommentsComponentsModule, - CoreRatingComponentsModule, - CoreTagComponentsModule, - AddonModGlossaryEntryPage, - ], -}) -export default class AddonModGlossaryEntryLazyModule {} diff --git a/src/addons/mod/glossary/glossary-lazy.module.ts b/src/addons/mod/glossary/glossary-lazy.module.ts index 86f91440e03..38a512d6fc1 100644 --- a/src/addons/mod/glossary/glossary-lazy.module.ts +++ b/src/addons/mod/glossary/glossary-lazy.module.ts @@ -15,31 +15,28 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModGlossaryComponentsModule } from './components/components.module'; -import { AddonModGlossaryIndexPage } from './pages/index/index'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; const mobileRoutes: Routes = [ { path: ':courseId/:cmId', - component: AddonModGlossaryIndexPage, + loadComponent: () => import('./pages/index/index'), }, { path: ':courseId/:cmId/entry/:entrySlug', - loadChildren: () => import('./glossary-entry-lazy.module'), + loadComponent: () => import('./pages/entry/entry'), }, ]; const tabletRoutes: Routes = [ { path: ':courseId/:cmId', - component: AddonModGlossaryIndexPage, + loadComponent: () => import('./pages/index/index'), children: [ { path: 'entry/:entrySlug', - loadChildren: () => import('./glossary-entry-lazy.module'), + loadComponent: () => import('./pages/entry/entry'), }, ], }, @@ -61,9 +58,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - AddonModGlossaryComponentsModule, - AddonModGlossaryIndexPage, ], }) export default class AddonModGlossaryLazyModule {} diff --git a/src/addons/mod/glossary/glossary.module.ts b/src/addons/mod/glossary/glossary.module.ts index f38f6d745af..26cec3d285e 100644 --- a/src/addons/mod/glossary/glossary.module.ts +++ b/src/addons/mod/glossary/glossary.module.ts @@ -41,7 +41,7 @@ const mainMenuRoutes: Routes = [ // Link handlers navigation. { path: `${ADDON_MOD_GLOSSARY_PAGE_NAME}/entry/:entrySlug`, - loadChildren: () => import('./glossary-entry-lazy.module'), + loadComponent: () => import('./pages/entry/entry'), }, // Course activity navigation. @@ -64,7 +64,7 @@ const mainMenuRoutes: Routes = [ ...conditionalRoutes( [{ path: `${CORE_COURSE_CONTENTS_PATH}/${ADDON_MOD_GLOSSARY_PAGE_NAME}/entry/:entrySlug`, - loadChildren: () => import('./glossary-entry-lazy.module'), + loadComponent: () => import('./pages/entry/entry'), data: { glossaryPathPrefix: `${ADDON_MOD_GLOSSARY_PAGE_NAME}/` }, }], () => CoreScreen.isMobile, @@ -75,7 +75,7 @@ const mainMenuRoutes: Routes = [ const courseContentsRoutes: Routes = conditionalRoutes( [{ path: `${ADDON_MOD_GLOSSARY_PAGE_NAME}/entry/:entrySlug`, - loadChildren: () => import('./glossary-entry-lazy.module'), + loadComponent: () => import('./pages/entry/entry'), data: { glossaryPathPrefix: `${ADDON_MOD_GLOSSARY_PAGE_NAME}/` }, }], () => CoreScreen.isTablet, diff --git a/src/addons/mod/glossary/pages/edit/edit.ts b/src/addons/mod/glossary/pages/edit/edit.ts index 7ae0b25ff55..9ae7deddf9c 100644 --- a/src/addons/mod/glossary/pages/edit/edit.ts +++ b/src/addons/mod/glossary/pages/edit/edit.ts @@ -56,7 +56,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreEditorComponentsModule, ], }) -export class AddonModGlossaryEditPage implements OnInit, CanLeave { +export default class AddonModGlossaryEditPage implements OnInit, CanLeave { @ViewChild('editFormEl') formElement?: ElementRef; diff --git a/src/addons/mod/glossary/pages/entry/entry.ts b/src/addons/mod/glossary/pages/entry/entry.ts index 34e426c16db..ba3923a8009 100644 --- a/src/addons/mod/glossary/pages/entry/entry.ts +++ b/src/addons/mod/glossary/pages/entry/entry.ts @@ -61,7 +61,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreRatingComponentsModule, ], }) -export class AddonModGlossaryEntryPage implements OnInit, OnDestroy { +export default class AddonModGlossaryEntryPage implements OnInit, OnDestroy { @ViewChild(CoreCommentsCommentsComponent) comments?: CoreCommentsCommentsComponent; diff --git a/src/addons/mod/glossary/pages/index/index.ts b/src/addons/mod/glossary/pages/index/index.ts index 6f805c1833e..08bb77fe1ad 100644 --- a/src/addons/mod/glossary/pages/index/index.ts +++ b/src/addons/mod/glossary/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModGlossaryIndexComponent, ], }) -export class AddonModGlossaryIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModGlossaryIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModGlossaryIndexComponent) activityComponent?: AddonModGlossaryIndexComponent; diff --git a/src/addons/mod/h5pactivity/components/components.module.ts b/src/addons/mod/h5pactivity/components/components.module.ts deleted file mode 100644 index f1055192bf5..00000000000 --- a/src/addons/mod/h5pactivity/components/components.module.ts +++ /dev/null @@ -1,33 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { AddonModH5PActivityIndexComponent } from './index'; -import { CoreH5PComponentsModule } from '@features/h5p/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - CoreH5PComponentsModule, - AddonModH5PActivityIndexComponent, - ], - exports: [ - AddonModH5PActivityIndexComponent, - ], -}) -export class AddonModH5PActivityComponentsModule {} diff --git a/src/addons/mod/h5pactivity/h5pactivity-lazy.module.ts b/src/addons/mod/h5pactivity/h5pactivity-lazy.module.ts deleted file mode 100644 index b614ddda775..00000000000 --- a/src/addons/mod/h5pactivity/h5pactivity-lazy.module.ts +++ /dev/null @@ -1,57 +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 { CoreSharedModule } from '@/core/shared.module'; -import { canLeaveGuard } from '@guards/can-leave'; -import { AddonModH5PActivityComponentsModule } from './components/components.module'; -import { AddonModH5PActivityIndexPage } from './pages/index/index'; -import { AddonModH5PActivityUserAttemptsPage } from '@addons/mod/h5pactivity/pages/user-attempts/user-attempts'; -import { AddonModH5PActivityAttemptResultsPage } from '@addons/mod/h5pactivity/pages/attempt-results/attempt-results'; -import { AddonModH5PActivityUsersAttemptsPage } from '@addons/mod/h5pactivity/pages/users-attempts/users-attempts'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModH5PActivityIndexPage, - canDeactivate: [canLeaveGuard], - }, - { - path: ':courseId/:cmId/userattempts/:userId', - component: AddonModH5PActivityUserAttemptsPage, - }, - { - path: ':courseId/:cmId/attemptresults/:attemptId', - component: AddonModH5PActivityAttemptResultsPage, - }, - { - path: ':courseId/:cmId/users', - component: AddonModH5PActivityUsersAttemptsPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModH5PActivityComponentsModule, - AddonModH5PActivityIndexPage, - AddonModH5PActivityUserAttemptsPage, - AddonModH5PActivityAttemptResultsPage, - AddonModH5PActivityUsersAttemptsPage, - ], -}) -export default class AddonModH5PActivityLazyModule {} diff --git a/src/addons/mod/h5pactivity/h5pactivity.module.ts b/src/addons/mod/h5pactivity/h5pactivity.module.ts index efd806e28ff..c97e9d2ef77 100644 --- a/src/addons/mod/h5pactivity/h5pactivity.module.ts +++ b/src/addons/mod/h5pactivity/h5pactivity.module.ts @@ -25,11 +25,30 @@ import { AddonModH5PActivityPrefetchHandler } from './services/handlers/prefetch import { AddonModH5PActivityReportLinkHandler } from './services/handlers/report-link'; import { AddonModH5PActivitySyncCronHandler } from './services/handlers/sync-cron'; import { ADDON_MOD_H5PACTIVITY_PAGE_NAME } from './constants'; +import { canLeaveGuard } from '@guards/can-leave'; const routes: Routes = [ { path: ADDON_MOD_H5PACTIVITY_PAGE_NAME, - loadChildren: () => import('./h5pactivity-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + canDeactivate: [canLeaveGuard], + }, + { + path: ':courseId/:cmId/userattempts/:userId', + loadComponent: () => import('./pages/user-attempts/user-attempts'), + }, + { + path: ':courseId/:cmId/attemptresults/:attemptId', + loadComponent: () => import('./pages/attempt-results/attempt-results'), + }, + { + path: ':courseId/:cmId/users', + loadComponent: () => import('./pages/users-attempts/users-attempts'), + }, + ], }, ]; diff --git a/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.ts b/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.ts index 3bf08aa21ba..143669fcf73 100644 --- a/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.ts +++ b/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.ts @@ -40,7 +40,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModH5PActivityAttemptResultsPage implements OnInit { +export default class AddonModH5PActivityAttemptResultsPage implements OnInit { loaded = false; h5pActivity?: AddonModH5PActivityData; diff --git a/src/addons/mod/h5pactivity/pages/index/index.ts b/src/addons/mod/h5pactivity/pages/index/index.ts index a27599066f0..513179e6726 100644 --- a/src/addons/mod/h5pactivity/pages/index/index.ts +++ b/src/addons/mod/h5pactivity/pages/index/index.ts @@ -32,7 +32,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModH5PActivityIndexComponent, ], }) -export class AddonModH5PActivityIndexPage extends CoreCourseModuleMainActivityPage +export default class AddonModH5PActivityIndexPage extends CoreCourseModuleMainActivityPage implements CanLeave, OnDestroy { canLeaveSafely = false; diff --git a/src/addons/mod/h5pactivity/pages/user-attempts/user-attempts.ts b/src/addons/mod/h5pactivity/pages/user-attempts/user-attempts.ts index 343bc1169fb..6fc673c591c 100644 --- a/src/addons/mod/h5pactivity/pages/user-attempts/user-attempts.ts +++ b/src/addons/mod/h5pactivity/pages/user-attempts/user-attempts.ts @@ -41,7 +41,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModH5PActivityUserAttemptsPage implements OnInit { +export default class AddonModH5PActivityUserAttemptsPage implements OnInit { loaded = false; courseId!: number; diff --git a/src/addons/mod/h5pactivity/pages/users-attempts/users-attempts.ts b/src/addons/mod/h5pactivity/pages/users-attempts/users-attempts.ts index 5479ed39337..3ebfa208eb5 100644 --- a/src/addons/mod/h5pactivity/pages/users-attempts/users-attempts.ts +++ b/src/addons/mod/h5pactivity/pages/users-attempts/users-attempts.ts @@ -40,7 +40,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModH5PActivityUsersAttemptsPage implements OnInit { +export default class AddonModH5PActivityUsersAttemptsPage implements OnInit { loaded = false; courseId!: number; diff --git a/src/addons/mod/imscp/components/components.module.ts b/src/addons/mod/imscp/components/components.module.ts deleted file mode 100644 index 22d113923fc..00000000000 --- a/src/addons/mod/imscp/components/components.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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -import { AddonModImscpIndexComponent } from './index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModImscpIndexComponent, - ], - exports: [ - AddonModImscpIndexComponent, - ], -}) -export class AddonModImscpComponentsModule {} diff --git a/src/addons/mod/imscp/imscp-lazy.module.ts b/src/addons/mod/imscp/imscp-lazy.module.ts deleted file mode 100644 index 387d10abef0..00000000000 --- a/src/addons/mod/imscp/imscp-lazy.module.ts +++ /dev/null @@ -1,43 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModImscpComponentsModule } from './components/components.module'; -import { AddonModImscpIndexPage } from './pages/index/index'; -import { AddonModImscpViewPage } from '@addons/mod/imscp/pages/view/view'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModImscpIndexPage, - }, - { - path: ':courseId/:cmId/view', - component: AddonModImscpViewPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModImscpComponentsModule, - AddonModImscpIndexPage, - AddonModImscpViewPage, - ], -}) -export default class AddonModImscpLazyModule {} diff --git a/src/addons/mod/imscp/imscp.module.ts b/src/addons/mod/imscp/imscp.module.ts index 83ce09f8b85..4bca146b6cb 100644 --- a/src/addons/mod/imscp/imscp.module.ts +++ b/src/addons/mod/imscp/imscp.module.ts @@ -29,7 +29,16 @@ import { ADDON_MOD_IMSCP_PAGE_NAME } from './constants'; const routes: Routes = [ { path: ADDON_MOD_IMSCP_PAGE_NAME, - loadChildren: () => import('./imscp-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/view', + loadComponent: () => import('./pages/view/view'), + }, + ], }, ]; diff --git a/src/addons/mod/imscp/pages/index/index.ts b/src/addons/mod/imscp/pages/index/index.ts index 41d70b16d7a..d30aa891aef 100644 --- a/src/addons/mod/imscp/pages/index/index.ts +++ b/src/addons/mod/imscp/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModImscpIndexComponent, ], }) -export class AddonModImscpIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModImscpIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModImscpIndexComponent) activityComponent?: AddonModImscpIndexComponent; diff --git a/src/addons/mod/imscp/pages/view/view.ts b/src/addons/mod/imscp/pages/view/view.ts index 72dece3ea67..3533905e389 100644 --- a/src/addons/mod/imscp/pages/view/view.ts +++ b/src/addons/mod/imscp/pages/view/view.ts @@ -41,7 +41,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModImscpViewPage implements OnInit { +export default class AddonModImscpViewPage implements OnInit { title = ''; cmId!: number; diff --git a/src/addons/mod/lesson/components/components.module.ts b/src/addons/mod/lesson/components/components.module.ts deleted file mode 100644 index 97f73d112ed..00000000000 --- a/src/addons/mod/lesson/components/components.module.ts +++ /dev/null @@ -1,31 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { AddonModLessonIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModLessonIndexComponent, - ], - exports: [ - AddonModLessonIndexComponent, - ], -}) -export class AddonModLessonComponentsModule {} diff --git a/src/addons/mod/lesson/components/menu-modal/menu-modal.ts b/src/addons/mod/lesson/components/menu-modal/menu-modal.ts index f448e86f14a..4418ffe2b0e 100644 --- a/src/addons/mod/lesson/components/menu-modal/menu-modal.ts +++ b/src/addons/mod/lesson/components/menu-modal/menu-modal.ts @@ -15,8 +15,8 @@ import { Component, Input } from '@angular/core'; import { ModalController } from '@singletons'; -import { AddonModLessonPlayerPage } from '../../pages/player/player'; import { CoreSharedModule } from '@/core/shared.module'; +import AddonModLessonPlayerPage from '../../pages/player/player'; /** * Modal that renders the lesson menu and media file. diff --git a/src/addons/mod/lesson/lesson-lazy.module.ts b/src/addons/mod/lesson/lesson-lazy.module.ts deleted file mode 100644 index f3c9a68324b..00000000000 --- a/src/addons/mod/lesson/lesson-lazy.module.ts +++ /dev/null @@ -1,54 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModLessonComponentsModule } from './components/components.module'; - -import { AddonModLessonIndexPage } from './pages/index'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { AddonModLessonPlayerPage } from '@addons/mod/lesson/pages/player/player'; -import { canLeaveGuard } from '@guards/can-leave'; -import { AddonModLessonUserRetakePage } from '@addons/mod/lesson/pages/user-retake/user-retake'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModLessonIndexPage, - }, - { - path: ':courseId/:cmId/player', - component: AddonModLessonPlayerPage, - canDeactivate: [canLeaveGuard], - }, - { - path: ':courseId/:cmId/user-retake/:userId', - component: AddonModLessonUserRetakePage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - CoreEditorComponentsModule, - AddonModLessonComponentsModule, - AddonModLessonIndexPage, - AddonModLessonPlayerPage, - AddonModLessonUserRetakePage, - ], -}) -export default class AddonModLessonLazyModule {} diff --git a/src/addons/mod/lesson/lesson.module.ts b/src/addons/mod/lesson/lesson.module.ts index b0d91523767..d77af4ce9e6 100644 --- a/src/addons/mod/lesson/lesson.module.ts +++ b/src/addons/mod/lesson/lesson.module.ts @@ -33,11 +33,26 @@ import { AddonModLessonPushClickHandler } from './services/handlers/push-click'; import { AddonModLessonReportLinkHandler } from './services/handlers/report-link'; import { AddonModLessonSyncCronHandler } from './services/handlers/sync-cron'; import { ADDON_MOD_LESSON_COMPONENT, ADDON_MOD_LESSON_PAGE_NAME } from './constants'; +import { canLeaveGuard } from '@guards/can-leave'; const routes: Routes = [ { path: ADDON_MOD_LESSON_PAGE_NAME, - loadChildren: () => import('./lesson-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/player', + loadComponent: () => import('./pages/player/player'), + canDeactivate: [canLeaveGuard], + }, + { + path: ':courseId/:cmId/user-retake/:userId', + loadComponent: () => import('./pages/user-retake/user-retake'), + }, + ], }, ]; diff --git a/src/addons/mod/lesson/pages/index/index.ts b/src/addons/mod/lesson/pages/index/index.ts index c2099e21f25..058e4503acd 100644 --- a/src/addons/mod/lesson/pages/index/index.ts +++ b/src/addons/mod/lesson/pages/index/index.ts @@ -30,7 +30,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModLessonIndexComponent, ], }) -export class AddonModLessonIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModLessonIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { @ViewChild(AddonModLessonIndexComponent) activityComponent?: AddonModLessonIndexComponent; diff --git a/src/addons/mod/lesson/pages/player/player.ts b/src/addons/mod/lesson/pages/player/player.ts index b4b844485cf..0214c5751c2 100644 --- a/src/addons/mod/lesson/pages/player/player.ts +++ b/src/addons/mod/lesson/pages/player/player.ts @@ -73,7 +73,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreEditorComponentsModule, ], }) -export class AddonModLessonPlayerPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModLessonPlayerPage implements OnInit, OnDestroy, CanLeave { @ViewChild(IonContent) content?: IonContent; @ViewChild('questionFormEl') formElement?: ElementRef; diff --git a/src/addons/mod/lesson/pages/user-retake/user-retake.ts b/src/addons/mod/lesson/pages/user-retake/user-retake.ts index 3d9b94ce173..8f36ec20830 100644 --- a/src/addons/mod/lesson/pages/user-retake/user-retake.ts +++ b/src/addons/mod/lesson/pages/user-retake/user-retake.ts @@ -50,7 +50,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModLessonUserRetakePage implements OnInit { +export default class AddonModLessonUserRetakePage implements OnInit { component = ADDON_MOD_LESSON_COMPONENT; lesson?: AddonModLessonLessonWSData; // The lesson the retake belongs to. diff --git a/src/addons/mod/lti/components/components.module.ts b/src/addons/mod/lti/components/components.module.ts deleted file mode 100644 index 9d4461bd88b..00000000000 --- a/src/addons/mod/lti/components/components.module.ts +++ /dev/null @@ -1,31 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { AddonModLtiIndexComponent } from './index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModLtiIndexComponent, - ], - exports: [ - AddonModLtiIndexComponent, - ], -}) -export class AddonModLtiComponentsModule {} diff --git a/src/addons/mod/lti/lti-lazy.module.ts b/src/addons/mod/lti/lti-lazy.module.ts deleted file mode 100644 index f2922aa6e12..00000000000 --- a/src/addons/mod/lti/lti-lazy.module.ts +++ /dev/null @@ -1,36 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { AddonModLtiComponentsModule } from './components/components.module'; -import { AddonModLtiIndexPage } from './pages/index'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModLtiIndexPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModLtiComponentsModule, - AddonModLtiIndexPage, - ], -}) -export default class AddonModLtiLazyModule {} diff --git a/src/addons/mod/lti/lti.module.ts b/src/addons/mod/lti/lti.module.ts index 6e300ddad5b..4e4a5ee5751 100644 --- a/src/addons/mod/lti/lti.module.ts +++ b/src/addons/mod/lti/lti.module.ts @@ -27,8 +27,8 @@ import { ADDON_MOD_LTI_PAGE_NAME } from './constants'; const routes: Routes = [ { - path: ADDON_MOD_LTI_PAGE_NAME, - loadChildren: () => import('./lti-lazy.module'), + path: `${ADDON_MOD_LTI_PAGE_NAME}/:courseId/:cmId`, + loadComponent: () => import('./pages/index/index'), }, ]; diff --git a/src/addons/mod/lti/pages/index/index.ts b/src/addons/mod/lti/pages/index/index.ts index 0c28d4e2a2e..aaaf6b697bb 100644 --- a/src/addons/mod/lti/pages/index/index.ts +++ b/src/addons/mod/lti/pages/index/index.ts @@ -30,7 +30,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModLtiIndexComponent, ], }) -export class AddonModLtiIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModLtiIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModLtiIndexComponent) activityComponent?: AddonModLtiIndexComponent; diff --git a/src/addons/mod/page/components/components.module.ts b/src/addons/mod/page/components/components.module.ts deleted file mode 100644 index 11367b7c62e..00000000000 --- a/src/addons/mod/page/components/components.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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -import { AddonModPageIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModPageIndexComponent, - ], - exports: [ - AddonModPageIndexComponent, - ], -}) -export class AddonModPageComponentsModule {} diff --git a/src/addons/mod/page/page-lazy.module.ts b/src/addons/mod/page/page-lazy.module.ts deleted file mode 100644 index 4b61c1581b1..00000000000 --- a/src/addons/mod/page/page-lazy.module.ts +++ /dev/null @@ -1,37 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModPageComponentsModule } from './components/components.module'; -import { AddonModPageIndexPage } from './pages/index'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModPageIndexPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModPageComponentsModule, - AddonModPageIndexPage, - ], -}) -export default class AddonModPageLazyModule {} diff --git a/src/addons/mod/page/page.module.ts b/src/addons/mod/page/page.module.ts index ee454536560..f9c2bbda05d 100644 --- a/src/addons/mod/page/page.module.ts +++ b/src/addons/mod/page/page.module.ts @@ -28,8 +28,8 @@ import { ADDON_MOD_PAGE_PAGE_NAME } from './constants'; const routes: Routes = [ { - path: ADDON_MOD_PAGE_PAGE_NAME, - loadChildren: () => import('./page-lazy.module'), + path: `${ADDON_MOD_PAGE_PAGE_NAME}/:courseId/:cmId`, + loadComponent: () => import('./pages/index/index'), }, ]; diff --git a/src/addons/mod/page/pages/index/index.ts b/src/addons/mod/page/pages/index/index.ts index feafeb3d42c..aefa47ab61a 100644 --- a/src/addons/mod/page/pages/index/index.ts +++ b/src/addons/mod/page/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModPageIndexComponent, ], }) -export class AddonModPageIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModPageIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModPageIndexComponent) activityComponent?: AddonModPageIndexComponent; diff --git a/src/addons/mod/quiz/accessrules/delaybetweenattempts/delaybetweenattempts.module.ts b/src/addons/mod/quiz/accessrules/delaybetweenattempts/delaybetweenattempts.module.ts index 537ce6c9217..37c2020e770 100644 --- a/src/addons/mod/quiz/accessrules/delaybetweenattempts/delaybetweenattempts.module.ts +++ b/src/addons/mod/quiz/accessrules/delaybetweenattempts/delaybetweenattempts.module.ts @@ -18,8 +18,6 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { AddonModQuizAccessDelayBetweenAttemptsHandler } from './services/handlers/delaybetweenattempts'; @NgModule({ - declarations: [ - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/quiz/accessrules/ipaddress/ipaddress.module.ts b/src/addons/mod/quiz/accessrules/ipaddress/ipaddress.module.ts index 2b0d0e1d591..d0cc6d35e7e 100644 --- a/src/addons/mod/quiz/accessrules/ipaddress/ipaddress.module.ts +++ b/src/addons/mod/quiz/accessrules/ipaddress/ipaddress.module.ts @@ -18,8 +18,6 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { AddonModQuizAccessIpAddressHandler } from './services/handlers/ipaddress'; @NgModule({ - declarations: [ - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/quiz/accessrules/numattempts/numattempts.module.ts b/src/addons/mod/quiz/accessrules/numattempts/numattempts.module.ts index 05312de10c5..2b0f1ca9b7d 100644 --- a/src/addons/mod/quiz/accessrules/numattempts/numattempts.module.ts +++ b/src/addons/mod/quiz/accessrules/numattempts/numattempts.module.ts @@ -18,8 +18,6 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { AddonModQuizAccessNumAttemptsHandler } from './services/handlers/numattempts'; @NgModule({ - declarations: [ - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/quiz/accessrules/offlineattempts/offlineattempts.module.ts b/src/addons/mod/quiz/accessrules/offlineattempts/offlineattempts.module.ts index 8f4263d7a68..241ad4f8d93 100644 --- a/src/addons/mod/quiz/accessrules/offlineattempts/offlineattempts.module.ts +++ b/src/addons/mod/quiz/accessrules/offlineattempts/offlineattempts.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModQuizAccessOfflineAttemptsComponent } from './component/offlineattempts'; import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-delegate'; import { AddonModQuizAccessOfflineAttemptsHandler } from './services/handlers/offlineattempts'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModQuizAccessOfflineAttemptsComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonModQuizAccessOfflineAttemptsHandler } from './services/handlers/of }, }, ], - exports: [ - AddonModQuizAccessOfflineAttemptsComponent, - ], }) export class AddonModQuizAccessOfflineAttemptsModule {} diff --git a/src/addons/mod/quiz/accessrules/openclosedate/openclosedate.module.ts b/src/addons/mod/quiz/accessrules/openclosedate/openclosedate.module.ts index 190baa87ffc..3d8b2db0d32 100644 --- a/src/addons/mod/quiz/accessrules/openclosedate/openclosedate.module.ts +++ b/src/addons/mod/quiz/accessrules/openclosedate/openclosedate.module.ts @@ -18,8 +18,6 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { AddonModQuizAccessOpenCloseDateHandler } from './services/handlers/openclosedate'; @NgModule({ - declarations: [ - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/quiz/accessrules/password/password.module.ts b/src/addons/mod/quiz/accessrules/password/password.module.ts index fc12ec9a4bd..f598a67a5b5 100644 --- a/src/addons/mod/quiz/accessrules/password/password.module.ts +++ b/src/addons/mod/quiz/accessrules/password/password.module.ts @@ -12,20 +12,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { CORE_SITE_SCHEMAS } from '@services/sites'; -import { AddonModQuizAccessPasswordComponent } from './component/password'; import { AddonModQuizAccessPasswordHandler } from './services/handlers/password'; import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-delegate'; import { SITE_SCHEMA } from './services/database/password'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModQuizAccessPasswordComponent, - ], providers: [ { provide: CORE_SITE_SCHEMAS, @@ -40,8 +34,5 @@ import { SITE_SCHEMA } from './services/database/password'; }, }, ], - exports: [ - AddonModQuizAccessPasswordComponent, - ], }) export class AddonModQuizAccessPasswordModule {} diff --git a/src/addons/mod/quiz/accessrules/safebrowser/safebrowser.module.ts b/src/addons/mod/quiz/accessrules/safebrowser/safebrowser.module.ts index a4f22236562..6ad7c929378 100644 --- a/src/addons/mod/quiz/accessrules/safebrowser/safebrowser.module.ts +++ b/src/addons/mod/quiz/accessrules/safebrowser/safebrowser.module.ts @@ -18,8 +18,6 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { AddonModQuizAccessSafeBrowserHandler } from './services/handlers/safebrowser'; @NgModule({ - declarations: [ - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/quiz/accessrules/securewindow/securewindow.module.ts b/src/addons/mod/quiz/accessrules/securewindow/securewindow.module.ts index b83e8a18532..65b5cf7ae80 100644 --- a/src/addons/mod/quiz/accessrules/securewindow/securewindow.module.ts +++ b/src/addons/mod/quiz/accessrules/securewindow/securewindow.module.ts @@ -18,8 +18,6 @@ import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-dele import { AddonModQuizAccessSecureWindowHandler } from './services/handlers/securewindow'; @NgModule({ - declarations: [ - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/quiz/accessrules/timelimit/timelimit.module.ts b/src/addons/mod/quiz/accessrules/timelimit/timelimit.module.ts index 37e2a64df06..39157556c15 100644 --- a/src/addons/mod/quiz/accessrules/timelimit/timelimit.module.ts +++ b/src/addons/mod/quiz/accessrules/timelimit/timelimit.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModQuizAccessTimeLimitComponent } from './component/timelimit'; import { AddonModQuizAccessRuleDelegate } from '../../services/access-rules-delegate'; import { AddonModQuizAccessTimeLimitHandler } from './services/handlers/timelimit'; @NgModule({ - imports: [ - CoreSharedModule, - AddonModQuizAccessTimeLimitComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonModQuizAccessTimeLimitHandler } from './services/handlers/timelimi }, }, ], - exports: [ - AddonModQuizAccessTimeLimitComponent, - ], }) export class AddonModQuizAccessTimeLimitModule {} diff --git a/src/addons/mod/quiz/components/components.module.ts b/src/addons/mod/quiz/components/components.module.ts index 6303da5aadc..e71465d2755 100644 --- a/src/addons/mod/quiz/components/components.module.ts +++ b/src/addons/mod/quiz/components/components.module.ts @@ -14,8 +14,6 @@ import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { AddonModQuizIndexComponent } from './index/index'; import { AddonModQuizAttemptInfoComponent } from './attempt-info/attempt-info'; import { AddonModQuizAttemptStateComponent } from './attempt-state/attempt-state'; @@ -23,14 +21,6 @@ import { AddonModQuizQuestionCardComponent } from './question-card/question-card @NgModule({ imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModQuizAttemptInfoComponent, - AddonModQuizAttemptStateComponent, - AddonModQuizIndexComponent, - AddonModQuizQuestionCardComponent, - ], - exports: [ AddonModQuizAttemptInfoComponent, AddonModQuizAttemptStateComponent, AddonModQuizIndexComponent, diff --git a/src/addons/mod/quiz/pages/index/index.ts b/src/addons/mod/quiz/pages/index/index.ts index 1b347d87c00..6c2cb00eaa6 100644 --- a/src/addons/mod/quiz/pages/index/index.ts +++ b/src/addons/mod/quiz/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModQuizIndexComponent, ], }) -export class AddonModQuizIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModQuizIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModQuizIndexComponent) activityComponent?: AddonModQuizIndexComponent; diff --git a/src/addons/mod/quiz/pages/player/player.ts b/src/addons/mod/quiz/pages/player/player.ts index 98a1e865908..43754f660e5 100644 --- a/src/addons/mod/quiz/pages/player/player.ts +++ b/src/addons/mod/quiz/pages/player/player.ts @@ -73,7 +73,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreQuestionComponentsModule, ], }) -export class AddonModQuizPlayerPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModQuizPlayerPage implements OnInit, OnDestroy, CanLeave { @ViewChild(IonContent) content?: IonContent; @ViewChildren(CoreQuestionComponent) questionComponents?: QueryList; diff --git a/src/addons/mod/quiz/pages/review/review.ts b/src/addons/mod/quiz/pages/review/review.ts index 5a4df68fd70..4d230271e31 100644 --- a/src/addons/mod/quiz/pages/review/review.ts +++ b/src/addons/mod/quiz/pages/review/review.ts @@ -56,7 +56,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreQuestionComponentsModule, ], }) -export class AddonModQuizReviewPage implements OnInit { +export default class AddonModQuizReviewPage implements OnInit { @ViewChild(IonContent) content?: IonContent; diff --git a/src/addons/mod/quiz/quiz-lazy.module.ts b/src/addons/mod/quiz/quiz-lazy.module.ts deleted file mode 100644 index 227b5f5d9d6..00000000000 --- a/src/addons/mod/quiz/quiz-lazy.module.ts +++ /dev/null @@ -1,54 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModQuizComponentsModule } from './components/components.module'; - -import { AddonModQuizIndexPage } from './pages/index'; -import { CoreQuestionComponentsModule } from '@features/question/components/components.module'; -import { AddonModQuizPlayerPage } from '@addons/mod/quiz/pages/player/player'; -import { canLeaveGuard } from '@guards/can-leave'; -import { AddonModQuizReviewPage } from '@addons/mod/quiz/pages/review/review'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModQuizIndexPage, - }, - { - path: ':courseId/:cmId/player', - component: AddonModQuizPlayerPage, - canDeactivate: [canLeaveGuard], - }, - { - path: ':courseId/:cmId/review/:attemptId', - component: AddonModQuizReviewPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModQuizComponentsModule, - CoreQuestionComponentsModule, - AddonModQuizIndexPage, - AddonModQuizPlayerPage, - AddonModQuizReviewPage, - ], -}) -export default class AddonModQuizLazyModule {} diff --git a/src/addons/mod/quiz/quiz.module.ts b/src/addons/mod/quiz/quiz.module.ts index c8e46562083..0c9f27495af 100644 --- a/src/addons/mod/quiz/quiz.module.ts +++ b/src/addons/mod/quiz/quiz.module.ts @@ -34,6 +34,7 @@ import { AddonModQuizPushClickHandler } from './services/handlers/push-click'; import { AddonModQuizReviewLinkHandler } from './services/handlers/review-link'; import { AddonModQuizSyncCronHandler } from './services/handlers/sync-cron'; import { ADDON_MOD_QUIZ_COMPONENT, ADDON_MOD_QUIZ_PAGE_NAME } from './constants'; +import { canLeaveGuard } from '@guards/can-leave'; /** * Get mod Quiz services. @@ -70,7 +71,21 @@ export async function getModQuizComponentModules(): Promise { const routes: Routes = [ { path: ADDON_MOD_QUIZ_PAGE_NAME, - loadChildren: () => import('./quiz-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/player', + loadComponent: () => import('./pages/player/player'), + canDeactivate: [canLeaveGuard], + }, + { + path: ':courseId/:cmId/review/:attemptId', + loadComponent: () => import('./pages/review/review'), + }, + ], }, ]; diff --git a/src/addons/mod/resource/components/components.module.ts b/src/addons/mod/resource/components/components.module.ts deleted file mode 100644 index 63cef9f9840..00000000000 --- a/src/addons/mod/resource/components/components.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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -import { AddonModResourceIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModResourceIndexComponent, - ], - exports: [ - AddonModResourceIndexComponent, - ], -}) -export class AddonModResourceComponentsModule {} diff --git a/src/addons/mod/resource/pages/index/index.ts b/src/addons/mod/resource/pages/index/index.ts index f9bafdd834a..6930178599b 100644 --- a/src/addons/mod/resource/pages/index/index.ts +++ b/src/addons/mod/resource/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModResourceIndexComponent, ], }) -export class AddonModResourceIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModResourceIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModResourceIndexComponent) activityComponent?: AddonModResourceIndexComponent; diff --git a/src/addons/mod/resource/resource-lazy.module.ts b/src/addons/mod/resource/resource-lazy.module.ts deleted file mode 100644 index 6792c07777c..00000000000 --- a/src/addons/mod/resource/resource-lazy.module.ts +++ /dev/null @@ -1,36 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { AddonModResourceComponentsModule } from './components/components.module'; -import { AddonModResourceIndexPage } from './pages/index'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModResourceIndexPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModResourceComponentsModule, - AddonModResourceIndexPage, - ], -}) -export default class AddonModResourceLazyModule {} diff --git a/src/addons/mod/resource/resource.module.ts b/src/addons/mod/resource/resource.module.ts index c0eebd30b41..c5edfe588d6 100644 --- a/src/addons/mod/resource/resource.module.ts +++ b/src/addons/mod/resource/resource.module.ts @@ -28,8 +28,8 @@ import { ADDON_MOD_RESOURCE_PAGE_NAME } from './constants'; const routes: Routes = [ { - path: ADDON_MOD_RESOURCE_PAGE_NAME, - loadChildren: () => import('./resource-lazy.module'), + path: `${ADDON_MOD_RESOURCE_PAGE_NAME}/:courseId/:cmId`, + loadComponent: () => import('./pages/index/index'), }, ]; diff --git a/src/addons/mod/scorm/components/components.module.ts b/src/addons/mod/scorm/components/components.module.ts deleted file mode 100644 index 201d72b43e9..00000000000 --- a/src/addons/mod/scorm/components/components.module.ts +++ /dev/null @@ -1,30 +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 { AddonModScormIndexComponent } from './index/index'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModScormIndexComponent, - ], - exports: [ - AddonModScormIndexComponent, - ], -}) -export class AddonModScormComponentsModule {} diff --git a/src/addons/mod/scorm/pages/index/index.ts b/src/addons/mod/scorm/pages/index/index.ts index 1cfcb2f878e..35ed62d496a 100644 --- a/src/addons/mod/scorm/pages/index/index.ts +++ b/src/addons/mod/scorm/pages/index/index.ts @@ -30,7 +30,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModScormIndexComponent, ], }) -export class AddonModScormIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModScormIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { @ViewChild(AddonModScormIndexComponent) activityComponent?: AddonModScormIndexComponent; diff --git a/src/addons/mod/scorm/pages/player/player.ts b/src/addons/mod/scorm/pages/player/player.ts index fc39bf35ef9..7890150ed04 100644 --- a/src/addons/mod/scorm/pages/player/player.ts +++ b/src/addons/mod/scorm/pages/player/player.ts @@ -57,7 +57,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonModScormPlayerPage implements OnInit, OnDestroy { +export default class AddonModScormPlayerPage implements OnInit, OnDestroy { title?: string; // Title. scorm!: AddonModScormScorm; // The SCORM object. diff --git a/src/addons/mod/scorm/scorm-lazy.module.ts b/src/addons/mod/scorm/scorm-lazy.module.ts deleted file mode 100644 index 3e3b177530a..00000000000 --- a/src/addons/mod/scorm/scorm-lazy.module.ts +++ /dev/null @@ -1,47 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModScormComponentsModule } from './components/components.module'; -import { AddonModScormIndexPage } from './pages/index/index'; -import { AddonModScormPlayerPage } from './pages/player/player'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModScormIndexPage, - }, - { - path: ':courseId/:cmId/player', - component: AddonModScormPlayerPage, - }, - { - path: ':courseId/:cmId/online-player', - loadComponent: () => import('./pages/online-player/online-player'), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModScormComponentsModule, - AddonModScormIndexPage, - AddonModScormPlayerPage, - ], -}) -export default class AddonModScormLazyModule {} diff --git a/src/addons/mod/scorm/scorm.module.ts b/src/addons/mod/scorm/scorm.module.ts index a66b61e2cb3..fecbd9b1a99 100644 --- a/src/addons/mod/scorm/scorm.module.ts +++ b/src/addons/mod/scorm/scorm.module.ts @@ -36,7 +36,20 @@ import { ADDON_MOD_SCORM_COMPONENT, ADDON_MOD_SCORM_PAGE_NAME } from './constant const routes: Routes = [ { path: ADDON_MOD_SCORM_PAGE_NAME, - loadChildren: () => import('./scorm-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/player', + loadComponent: () => import('./pages/player/player'), + }, + { + path: ':courseId/:cmId/online-player', + loadComponent: () => import('./pages/online-player/online-player'), + }, + ], }, ]; diff --git a/src/addons/mod/survey/components/components.module.ts b/src/addons/mod/survey/components/components.module.ts deleted file mode 100644 index dbbb79273ca..00000000000 --- a/src/addons/mod/survey/components/components.module.ts +++ /dev/null @@ -1,30 +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 { AddonModSurveyIndexComponent } from './index/index'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModSurveyIndexComponent, - ], - exports: [ - AddonModSurveyIndexComponent, - ], -}) -export class AddonModSurveyComponentsModule {} diff --git a/src/addons/mod/survey/pages/index/index.ts b/src/addons/mod/survey/pages/index/index.ts index cecc93f5743..c3156d1616f 100644 --- a/src/addons/mod/survey/pages/index/index.ts +++ b/src/addons/mod/survey/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModSurveyIndexComponent, ], }) -export class AddonModSurveyIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModSurveyIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModSurveyIndexComponent) activityComponent?: AddonModSurveyIndexComponent; diff --git a/src/addons/mod/survey/survey-lazy.module.ts b/src/addons/mod/survey/survey-lazy.module.ts deleted file mode 100644 index eb7fe6107d2..00000000000 --- a/src/addons/mod/survey/survey-lazy.module.ts +++ /dev/null @@ -1,37 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModSurveyIndexPage } from './pages/index'; -import { AddonModSurveyComponentsModule } from './components/components.module'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModSurveyIndexPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModSurveyComponentsModule, - AddonModSurveyIndexPage, - ], -}) -export default class AddonModSurveyLazyModule {} diff --git a/src/addons/mod/survey/survey.module.ts b/src/addons/mod/survey/survey.module.ts index 3f1c3e8e789..df6882e0d06 100644 --- a/src/addons/mod/survey/survey.module.ts +++ b/src/addons/mod/survey/survey.module.ts @@ -30,8 +30,8 @@ import { ADDON_MOD_SURVEY_PAGE_NAME } from '@addons/mod/survey/constants'; const routes: Routes = [ { - path: ADDON_MOD_SURVEY_PAGE_NAME, - loadChildren: () => import('./survey-lazy.module'), + path: `${ADDON_MOD_SURVEY_PAGE_NAME}/:courseId/:cmId`, + loadComponent: () => import('./pages/index/index'), }, ]; diff --git a/src/addons/mod/url/components/components.module.ts b/src/addons/mod/url/components/components.module.ts deleted file mode 100644 index 0ed938d2b40..00000000000 --- a/src/addons/mod/url/components/components.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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -import { AddonModUrlIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModUrlIndexComponent, - ], - exports: [ - AddonModUrlIndexComponent, - ], -}) -export class AddonModUrlComponentsModule {} diff --git a/src/addons/mod/url/pages/index/index.ts b/src/addons/mod/url/pages/index/index.ts index 172e79d23c6..169708d8974 100644 --- a/src/addons/mod/url/pages/index/index.ts +++ b/src/addons/mod/url/pages/index/index.ts @@ -29,7 +29,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModUrlIndexComponent, ], }) -export class AddonModUrlIndexPage extends CoreCourseModuleMainActivityPage { +export default class AddonModUrlIndexPage extends CoreCourseModuleMainActivityPage { @ViewChild(AddonModUrlIndexComponent) activityComponent?: AddonModUrlIndexComponent; diff --git a/src/addons/mod/url/url-lazy.module.ts b/src/addons/mod/url/url-lazy.module.ts deleted file mode 100644 index 4207febc3b3..00000000000 --- a/src/addons/mod/url/url-lazy.module.ts +++ /dev/null @@ -1,36 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { AddonModUrlComponentsModule } from './components/components.module'; -import { AddonModUrlIndexPage } from './pages/index'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModUrlIndexPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModUrlComponentsModule, - AddonModUrlIndexPage, - ], -}) -export default class AddonModUrlLazyModule {} diff --git a/src/addons/mod/url/url.module.ts b/src/addons/mod/url/url.module.ts index 563daf9c4e5..68e43d1be55 100644 --- a/src/addons/mod/url/url.module.ts +++ b/src/addons/mod/url/url.module.ts @@ -26,8 +26,8 @@ import { ADDON_MOD_URL_PAGE_NAME } from './constants'; const routes: Routes = [ { - path: ADDON_MOD_URL_PAGE_NAME, - loadChildren: () => import('./url-lazy.module'), + path: `${ADDON_MOD_URL_PAGE_NAME}/:courseId/:cmId`, + loadComponent: () => import('./pages/index/index'), }, ]; diff --git a/src/addons/mod/wiki/components/components.module.ts b/src/addons/mod/wiki/components/components.module.ts deleted file mode 100644 index c113c43082d..00000000000 --- a/src/addons/mod/wiki/components/components.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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { AddonModWikiIndexComponent } from './index/index'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - CoreTagComponentsModule, - AddonModWikiIndexComponent, - ], - exports: [ - AddonModWikiIndexComponent, - ], -}) -export class AddonModWikiComponentsModule {} diff --git a/src/addons/mod/wiki/pages/edit/edit.ts b/src/addons/mod/wiki/pages/edit/edit.ts index b437a3c23c2..938366494f1 100644 --- a/src/addons/mod/wiki/pages/edit/edit.ts +++ b/src/addons/mod/wiki/pages/edit/edit.ts @@ -49,7 +49,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreEditorComponentsModule, ], }) -export class AddonModWikiEditPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModWikiEditPage implements OnInit, OnDestroy, CanLeave { @ViewChild('editPageForm') formElement?: ElementRef; diff --git a/src/addons/mod/wiki/pages/index/index.ts b/src/addons/mod/wiki/pages/index/index.ts index 70335195573..c56176a1dab 100644 --- a/src/addons/mod/wiki/pages/index/index.ts +++ b/src/addons/mod/wiki/pages/index/index.ts @@ -30,7 +30,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModWikiIndexComponent, ], }) -export class AddonModWikiIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModWikiIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { @ViewChild(AddonModWikiIndexComponent) activityComponent?: AddonModWikiIndexComponent; diff --git a/src/addons/mod/wiki/services/handlers/create-link-lazy.ts b/src/addons/mod/wiki/services/handlers/create-link-lazy.ts index c22f2156fc7..7f0824fbe44 100644 --- a/src/addons/mod/wiki/services/handlers/create-link-lazy.ts +++ b/src/addons/mod/wiki/services/handlers/create-link-lazy.ts @@ -86,7 +86,7 @@ export class AddonModWikiCreateLinkHandlerLazyService extends AddonModWikiCreate */ async handleAction(siteId: string, courseId: number, params: Record): Promise { const modal = await CoreLoadings.show(); - const { AddonModWikiIndexPage } = await import('../../pages/index'); + const AddonModWikiIndexPage = await import('../../pages/index'); try { const route = CoreNavigator.getCurrentRoute({ pageComponent: AddonModWikiIndexPage }); diff --git a/src/addons/mod/wiki/wiki-lazy.module.ts b/src/addons/mod/wiki/wiki-lazy.module.ts deleted file mode 100644 index cdc1f06d0b2..00000000000 --- a/src/addons/mod/wiki/wiki-lazy.module.ts +++ /dev/null @@ -1,50 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonModWikiComponentsModule } from './components/components.module'; -import { AddonModWikiIndexPage } from './pages/index/index'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { canLeaveGuard } from '@guards/can-leave'; -import { AddonModWikiEditPage } from './pages/edit/edit'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - redirectTo: ':courseId/:cmId/page/root', - }, - { - path: ':courseId/:cmId/page/:hash', - component: AddonModWikiIndexPage, - }, - { - path: ':courseId/:cmId/edit', - component: AddonModWikiEditPage, - canDeactivate: [canLeaveGuard], - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModWikiComponentsModule, - CoreEditorComponentsModule, - AddonModWikiIndexPage, - AddonModWikiEditPage, - ], -}) -export default class AddonModWikiLazyModule {} diff --git a/src/addons/mod/wiki/wiki.module.ts b/src/addons/mod/wiki/wiki.module.ts index db9f97f8f1d..40b148f6069 100644 --- a/src/addons/mod/wiki/wiki.module.ts +++ b/src/addons/mod/wiki/wiki.module.ts @@ -33,11 +33,26 @@ import { getPrefetchHandlerInstance } from './services/handlers/prefetch'; import { getCronHandlerInstance } from './services/handlers/sync-cron'; import { AddonModWikiTagAreaHandler } from './services/handlers/tag-area'; import { ADDON_MOD_WIKI_COMPONENT, ADDON_MOD_WIKI_PAGE_NAME } from './constants'; +import { canLeaveGuard } from '@guards/can-leave'; const routes: Routes = [ { path: ADDON_MOD_WIKI_PAGE_NAME, - loadChildren: () => import('./wiki-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + redirectTo: ':courseId/:cmId/page/root', + }, + { + path: ':courseId/:cmId/page/:hash', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/edit', + loadComponent: () => import('./pages/edit/edit'), + canDeactivate: [canLeaveGuard], + }, + ], }, ]; diff --git a/src/addons/mod/workshop/assessment/accumulative/accumulative.module.ts b/src/addons/mod/workshop/assessment/accumulative/accumulative.module.ts index 5a9cb63e438..3276fa9d18f 100644 --- a/src/addons/mod/workshop/assessment/accumulative/accumulative.module.ts +++ b/src/addons/mod/workshop/assessment/accumulative/accumulative.module.ts @@ -14,13 +14,9 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonWorkshopAssessmentStrategyDelegate } from '../../services/assessment-strategy-delegate'; -import { CoreSharedModule } from '@/core/shared.module'; import { getAssessmentStrategyHandlerInstance } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/workshop/assessment/assesment-components.module.ts b/src/addons/mod/workshop/assessment/assesment-components.module.ts deleted file mode 100644 index ad4f44c0109..00000000000 --- a/src/addons/mod/workshop/assessment/assesment-components.module.ts +++ /dev/null @@ -1,37 +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 { AddonModWorkshopAssessmentStrategyCommentsComponent } from './comments/component/comments'; -import { AddonModWorkshopAssessmentStrategyAccumulativeComponent } from './accumulative/component/accumulative'; -import { AddonModWorkshopAssessmentStrategyNumErrorsComponent } from './numerrors/component/numerrors'; -import { AddonModWorkshopAssessmentStrategyRubricComponent } from './rubric/component/rubric'; -import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - AddonModWorkshopAssessmentStrategyAccumulativeComponent, - AddonModWorkshopAssessmentStrategyCommentsComponent, - AddonModWorkshopAssessmentStrategyNumErrorsComponent, - AddonModWorkshopAssessmentStrategyRubricComponent, - ], - exports: [ - AddonModWorkshopAssessmentStrategyAccumulativeComponent, - AddonModWorkshopAssessmentStrategyCommentsComponent, - AddonModWorkshopAssessmentStrategyNumErrorsComponent, - AddonModWorkshopAssessmentStrategyRubricComponent, - ], -}) -export class AddonModWorkshopAssessmentComponentsModule {} diff --git a/src/addons/mod/workshop/assessment/comments/comments.module.ts b/src/addons/mod/workshop/assessment/comments/comments.module.ts index 33d72d4b505..3c362e37b87 100644 --- a/src/addons/mod/workshop/assessment/comments/comments.module.ts +++ b/src/addons/mod/workshop/assessment/comments/comments.module.ts @@ -12,15 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonWorkshopAssessmentStrategyDelegate } from '../../services/assessment-strategy-delegate'; import { getAssessmentStrategyHandlerInstance } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/workshop/assessment/numerrors/numerrors.module.ts b/src/addons/mod/workshop/assessment/numerrors/numerrors.module.ts index 3fdcc9df2f6..a8f040411ef 100644 --- a/src/addons/mod/workshop/assessment/numerrors/numerrors.module.ts +++ b/src/addons/mod/workshop/assessment/numerrors/numerrors.module.ts @@ -12,15 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonWorkshopAssessmentStrategyDelegate } from '../../services/assessment-strategy-delegate'; import { getAssessmentStrategyHandlerInstance } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/workshop/assessment/rubric/rubric.module.ts b/src/addons/mod/workshop/assessment/rubric/rubric.module.ts index 62328560e70..900ada602ab 100644 --- a/src/addons/mod/workshop/assessment/rubric/rubric.module.ts +++ b/src/addons/mod/workshop/assessment/rubric/rubric.module.ts @@ -12,15 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonWorkshopAssessmentStrategyDelegate } from '../../services/assessment-strategy-delegate'; import { getAssessmentStrategyHandlerInstance } from './services/handler'; @NgModule({ - imports: [ - CoreSharedModule, - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/addons/mod/workshop/components/components.module.ts b/src/addons/mod/workshop/components/components.module.ts index e037977bc93..152662c4a08 100644 --- a/src/addons/mod/workshop/components/components.module.ts +++ b/src/addons/mod/workshop/components/components.module.ts @@ -13,30 +13,10 @@ // limitations under the License. import { NgModule } from '@angular/core'; -import { AddonModWorkshopIndexComponent } from './index/index'; -import { AddonModWorkshopSubmissionComponent } from './submission/submission'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModWorkshopAssessmentComponentsModule } from '@addons/mod/workshop/assessment/assesment-components.module'; -import { AddonModWorkshopAssessmentComponent } from './assessment/assessment'; import { AddonModWorkshopAssessmentStrategyComponent } from './assessment-strategy/assessment-strategy'; @NgModule({ imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - CoreEditorComponentsModule, - AddonModWorkshopAssessmentComponentsModule, - AddonModWorkshopIndexComponent, - AddonModWorkshopSubmissionComponent, - AddonModWorkshopAssessmentComponent, - AddonModWorkshopAssessmentStrategyComponent, - ], - exports: [ - AddonModWorkshopIndexComponent, - AddonModWorkshopSubmissionComponent, - AddonModWorkshopAssessmentComponent, AddonModWorkshopAssessmentStrategyComponent, ], }) diff --git a/src/addons/mod/workshop/components/submission/submission.ts b/src/addons/mod/workshop/components/submission/submission.ts index 0d47f42b093..c28a4e06f88 100644 --- a/src/addons/mod/workshop/components/submission/submission.ts +++ b/src/addons/mod/workshop/components/submission/submission.ts @@ -18,7 +18,7 @@ import { CoreCourseModuleData } from '@features/course/services/course-helper'; import { CoreUser, CoreUserProfile } from '@features/user/services/user'; import { CoreNavigator } from '@services/navigator'; import { CoreSites } from '@services/sites'; -import { AddonModWorkshopSubmissionPage } from '../../pages/submission/submission'; +import AddonModWorkshopSubmissionPage from '../../pages/submission/submission'; import { AddonModWorkshopData, AddonModWorkshopGetWorkshopAccessInformationWSResponse, diff --git a/src/addons/mod/workshop/pages/assessment/assessment.ts b/src/addons/mod/workshop/pages/assessment/assessment.ts index 9a32eb9f86d..9c0ef256d44 100644 --- a/src/addons/mod/workshop/pages/assessment/assessment.ts +++ b/src/addons/mod/workshop/pages/assessment/assessment.ts @@ -62,7 +62,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreEditorComponentsModule, ], }) -export class AddonModWorkshopAssessmentPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModWorkshopAssessmentPage implements OnInit, OnDestroy, CanLeave { @ViewChild('evaluateFormEl') formElement!: ElementRef; diff --git a/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts b/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts index 7955a56d823..7d33b9cdd42 100644 --- a/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts +++ b/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts @@ -61,7 +61,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreEditorComponentsModule, ], }) -export class AddonModWorkshopEditSubmissionPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModWorkshopEditSubmissionPage implements OnInit, OnDestroy, CanLeave { @ViewChild('editFormEl') formElement!: ElementRef; diff --git a/src/addons/mod/workshop/pages/index/index.ts b/src/addons/mod/workshop/pages/index/index.ts index 1dfdba7e68e..a500c25bb7e 100644 --- a/src/addons/mod/workshop/pages/index/index.ts +++ b/src/addons/mod/workshop/pages/index/index.ts @@ -30,7 +30,8 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModWorkshopIndexComponent, ], }) -export class AddonModWorkshopIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModWorkshopIndexPage extends CoreCourseModuleMainActivityPage + implements OnInit { @ViewChild(AddonModWorkshopIndexComponent) activityComponent?: AddonModWorkshopIndexComponent; diff --git a/src/addons/mod/workshop/pages/submission/submission.ts b/src/addons/mod/workshop/pages/submission/submission.ts index 6623c73d105..9c351c2a269 100644 --- a/src/addons/mod/workshop/pages/submission/submission.ts +++ b/src/addons/mod/workshop/pages/submission/submission.ts @@ -70,13 +70,13 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - AddonModWorkshopSubmissionComponent, - AddonModWorkshopAssessmentComponent, CoreEditorComponentsModule, + AddonModWorkshopAssessmentComponent, AddonModWorkshopAssessmentStrategyComponent, + AddonModWorkshopSubmissionComponent, ], }) -export class AddonModWorkshopSubmissionPage implements OnInit, OnDestroy, CanLeave { +export default class AddonModWorkshopSubmissionPage implements OnInit, OnDestroy, CanLeave { @ViewChild(AddonModWorkshopAssessmentStrategyComponent) assessmentStrategy?: AddonModWorkshopAssessmentStrategyComponent; diff --git a/src/addons/mod/workshop/workshop-lazy.module.ts b/src/addons/mod/workshop/workshop-lazy.module.ts deleted file mode 100644 index 6f0fda70c99..00000000000 --- a/src/addons/mod/workshop/workshop-lazy.module.ts +++ /dev/null @@ -1,61 +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 { canLeaveGuard } from '@guards/can-leave'; - -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonModWorkshopIndexPage } from './pages/index/index'; -import { AddonModWorkshopComponentsModule } from './components/components.module'; -import { AddonModWorkshopSubmissionPage } from './pages/submission/submission'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { AddonModWorkshopAssessmentPage } from './pages/assessment/assessment'; -import { AddonModWorkshopEditSubmissionPage } from './pages/edit-submission/edit-submission'; - -const routes: Routes = [ - { - path: ':courseId/:cmId', - component: AddonModWorkshopIndexPage, - }, - { - path: ':courseId/:cmId/:submissionId', - component: AddonModWorkshopSubmissionPage, - canDeactivate: [canLeaveGuard], - }, - { - path: ':courseId/:cmId/:submissionId/edit', - component: AddonModWorkshopEditSubmissionPage, - canDeactivate: [canLeaveGuard], - }, - { - path: ':courseId/:cmId/:submissionId/:assessmentId', - component: AddonModWorkshopAssessmentPage, - canDeactivate: [canLeaveGuard], - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonModWorkshopComponentsModule, - CoreEditorComponentsModule, - AddonModWorkshopIndexPage, - AddonModWorkshopSubmissionPage, - AddonModWorkshopAssessmentPage, - AddonModWorkshopEditSubmissionPage, - ], -}) -export default class AddonModWorkshopLazyModule {} diff --git a/src/addons/mod/workshop/workshop.module.ts b/src/addons/mod/workshop/workshop.module.ts index 63653ee8fad..f0a481c2b8e 100644 --- a/src/addons/mod/workshop/workshop.module.ts +++ b/src/addons/mod/workshop/workshop.module.ts @@ -29,6 +29,7 @@ import { AddonModWorkshopModuleHandler } from './services/handlers/module'; import { ADDON_MOD_WORKSHOP_COMPONENT, ADDON_MOD_WORKSHOP_PAGE_NAME } from '@addons/mod/workshop/constants'; import { getPrefetchHandlerInstance } from '@addons/mod/workshop/services/handlers/prefetch'; import { getCronHandlerInstance } from '@addons/mod/workshop/services/handlers/sync-cron'; +import { canLeaveGuard } from '@guards/can-leave'; /** * Get modworkshop services. @@ -66,7 +67,27 @@ export async function getModWorkshopComponentModules(): Promise { const routes: Routes = [ { path: ADDON_MOD_WORKSHOP_PAGE_NAME, - loadChildren: () => import('./workshop-lazy.module'), + children: [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/:submissionId', + loadComponent: () => import('./pages/submission/submission'), + canDeactivate: [canLeaveGuard], + }, + { + path: ':courseId/:cmId/:submissionId/edit', + loadComponent: () => import('./pages/edit-submission/edit-submission'), + canDeactivate: [canLeaveGuard], + }, + { + path: ':courseId/:cmId/:submissionId/:assessmentId', + loadComponent: () => import('./pages/assessment/assessment'), + canDeactivate: [canLeaveGuard], + }, + ], }, ]; diff --git a/src/addons/notes/notes-lazy.module.ts b/src/addons/notes/notes-lazy.module.ts deleted file mode 100644 index 18014856b83..00000000000 --- a/src/addons/notes/notes-lazy.module.ts +++ /dev/null @@ -1,38 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { AddonNotesListPage } from './pages/list/list'; - -const routes: Routes = [ - { - path: '', - component: AddonNotesListPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - CoreCommentsComponentsModule, - CoreTagComponentsModule, - AddonNotesListPage, - ], -}) -export default class AddonNotesLazyModule {} diff --git a/src/addons/notes/notes.module.ts b/src/addons/notes/notes.module.ts index 655e4dc856e..ce9162526c6 100644 --- a/src/addons/notes/notes.module.ts +++ b/src/addons/notes/notes.module.ts @@ -45,7 +45,7 @@ export async function getNotesServices(): Promise[]> { const routes: Routes = [ { path: 'notes', - loadChildren: () => import('@addons/notes/notes-lazy.module'), + loadComponent: () => import('./pages/list/list'), }, ]; diff --git a/src/addons/notes/pages/list/list.ts b/src/addons/notes/pages/list/list.ts index 0bf524ded24..88debca2a39 100644 --- a/src/addons/notes/pages/list/list.ts +++ b/src/addons/notes/pages/list/list.ts @@ -48,7 +48,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonNotesListPage implements OnInit, OnDestroy { +export default class AddonNotesListPage implements OnInit, OnDestroy { @ViewChild(IonContent) content?: IonContent; diff --git a/src/addons/notifications/notifications-lazy.module.ts b/src/addons/notifications/notifications-lazy.module.ts index 6bfb3b87cea..6e660582cdb 100644 --- a/src/addons/notifications/notifications-lazy.module.ts +++ b/src/addons/notifications/notifications-lazy.module.ts @@ -13,12 +13,8 @@ // limitations under the License. import { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonNotificationsListPage } from '@addons/notifications/pages/list/list'; -import { AddonNotificationsNotificationPage } from '@addons/notifications/pages/notification/notification'; import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; import { CoreScreen } from '@services/screen'; @@ -35,23 +31,23 @@ function buildRoutes(injector: Injector): Routes { { path: 'list', data: { mainMenuTabRoot: AddonNotificationsMainMenuHandlerService.PAGE_NAME }, - component: AddonNotificationsListPage, + loadComponent: () => import('@addons/notifications/pages/list/list'), children: conditionalRoutes([ { path: ':id', - component: AddonNotificationsNotificationPage, + loadComponent: () => import('@addons/notifications/pages/notification/notification'), }, ], () => CoreScreen.isTablet), }, ...conditionalRoutes([ { path: 'list/:id', - component: AddonNotificationsNotificationPage, + loadComponent: () => import('@addons/notifications/pages/notification/notification'), }, ], () => CoreScreen.isMobile), { path: 'notification', - component: AddonNotificationsNotificationPage, + loadComponent: () => import('@addons/notifications/pages/notification/notification'), }, ...buildTabMainRoutes(injector, { redirectTo: 'list', @@ -61,12 +57,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - CoreMainMenuComponentsModule, - AddonNotificationsListPage, - AddonNotificationsNotificationPage, - ], providers: [ { provide: ROUTES, diff --git a/src/addons/notifications/notifications-settings-lazy.module.ts b/src/addons/notifications/notifications-settings-lazy.module.ts deleted file mode 100644 index 442140161af..00000000000 --- a/src/addons/notifications/notifications-settings-lazy.module.ts +++ /dev/null @@ -1,35 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonNotificationsSettingsPage } from '@addons/notifications/pages/settings/settings'; - -const routes: Routes = [ - { - path: '', - component: AddonNotificationsSettingsPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonNotificationsSettingsPage, - ], -}) -export default class AddonNotificationsSettingsLazyModule {} diff --git a/src/addons/notifications/notifications.module.ts b/src/addons/notifications/notifications.module.ts index 202bc62f4cb..7626058005d 100644 --- a/src/addons/notifications/notifications.module.ts +++ b/src/addons/notifications/notifications.module.ts @@ -54,7 +54,7 @@ const routes: Routes = [ const preferencesRoutes: Routes = [ { path: AddonNotificationsSettingsHandlerService.PAGE_NAME, - loadChildren: () => import('./notifications-settings-lazy.module'), + loadComponent: () => import('@addons/notifications/pages/settings/settings'), }, ]; diff --git a/src/addons/notifications/pages/list/list.ts b/src/addons/notifications/pages/list/list.ts index 9eddf7bd30b..ef702561fd4 100644 --- a/src/addons/notifications/pages/list/list.ts +++ b/src/addons/notifications/pages/list/list.ts @@ -50,7 +50,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreMainMenuComponentsModule, ], }) -export class AddonNotificationsListPage implements AfterViewInit, OnDestroy { +export default class AddonNotificationsListPage implements AfterViewInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; notifications!: CoreListItemsManager; diff --git a/src/addons/notifications/pages/notification/notification.ts b/src/addons/notifications/pages/notification/notification.ts index f991684449d..b65e268ff83 100644 --- a/src/addons/notifications/pages/notification/notification.ts +++ b/src/addons/notifications/pages/notification/notification.ts @@ -43,7 +43,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonNotificationsNotificationPage implements OnInit, OnDestroy { +export default class AddonNotificationsNotificationPage implements OnInit, OnDestroy { notifications?: AddonNotificationSwipeItemsManager; notification?: AddonNotificationsNotificationMessageFormatted; diff --git a/src/addons/notifications/pages/settings/settings.ts b/src/addons/notifications/pages/settings/settings.ts index 100498a566c..a2162e98a20 100644 --- a/src/addons/notifications/pages/settings/settings.ts +++ b/src/addons/notifications/pages/settings/settings.ts @@ -55,7 +55,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonNotificationsSettingsPage implements OnInit, OnDestroy { +export default class AddonNotificationsSettingsPage implements OnInit, OnDestroy { preferences?: AddonNotificationsPreferencesFormatted; components?: AddonNotificationsPreferencesComponentFormatted[]; diff --git a/src/addons/privatefiles/pages/index/index.ts b/src/addons/privatefiles/pages/index/index.ts index 0ef63fce7aa..d5c2917eca3 100644 --- a/src/addons/privatefiles/pages/index/index.ts +++ b/src/addons/privatefiles/pages/index/index.ts @@ -53,7 +53,7 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonPrivateFilesFileComponent, ], }) -export class AddonPrivateFilesIndexPage implements OnInit, OnDestroy { +export default class AddonPrivateFilesIndexPage implements OnInit, OnDestroy { title!: string; // Page title. root?: 'my' | 'site'; // The root of the files loaded: 'my' or 'site'. diff --git a/src/addons/privatefiles/privatefiles-lazy.module.ts b/src/addons/privatefiles/privatefiles-lazy.module.ts index 831ea15b0d8..f9397ed7c4b 100644 --- a/src/addons/privatefiles/privatefiles-lazy.module.ts +++ b/src/addons/privatefiles/privatefiles-lazy.module.ts @@ -12,13 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonPrivateFilesIndexPage } from '@addons/privatefiles/pages/index'; import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; -import { AddonPrivateFilesFileComponent } from './components/file/file'; /** * Build module routes. @@ -30,11 +27,11 @@ function buildRoutes(injector: Injector): Routes { return [ { path: 'root', - component: AddonPrivateFilesIndexPage, + loadComponent: () => import('@addons/privatefiles/pages/index'), }, { path: ':hash', - component: AddonPrivateFilesIndexPage, + loadComponent: () => import('@addons/privatefiles/pages/index'), }, ...buildTabMainRoutes(injector, { redirectTo: 'root', @@ -44,11 +41,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - AddonPrivateFilesFileComponent, - AddonPrivateFilesIndexPage, - ], providers: [ { provide: ROUTES, diff --git a/src/addons/qbehaviour/deferredcbm/deferredcbm.module.ts b/src/addons/qbehaviour/deferredcbm/deferredcbm.module.ts index eb30581065e..eaece08861f 100644 --- a/src/addons/qbehaviour/deferredcbm/deferredcbm.module.ts +++ b/src/addons/qbehaviour/deferredcbm/deferredcbm.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionBehaviourDelegate } from '@features/question/services/behaviour-delegate'; -import { AddonQbehaviourDeferredCBMComponent } from './component/deferredcbm'; import { AddonQbehaviourDeferredCBMHandler } from './services/handlers/deferredcbm'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQbehaviourDeferredCBMComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQbehaviourDeferredCBMHandler } from './services/handlers/deferredc }, }, ], - exports: [ - AddonQbehaviourDeferredCBMComponent, - ], }) export class AddonQbehaviourDeferredCBMModule {} diff --git a/src/addons/qbehaviour/informationitem/informationitem.module.ts b/src/addons/qbehaviour/informationitem/informationitem.module.ts index 1c46b5766ed..87c0836469b 100644 --- a/src/addons/qbehaviour/informationitem/informationitem.module.ts +++ b/src/addons/qbehaviour/informationitem/informationitem.module.ts @@ -12,18 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { CoreQuestionBehaviourDelegate } from '@features/question/services/behaviour-delegate'; -import { AddonQbehaviourInformationItemComponent } from './component/informationitem'; import { AddonQbehaviourInformationItemHandler } from './services/handlers/informationitem'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQbehaviourInformationItemComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQbehaviourInformationItemHandler } from './services/handlers/infor }, }, ], - exports: [ - AddonQbehaviourInformationItemComponent, - ], }) export class AddonQbehaviourInformationItemModule {} diff --git a/src/addons/qtype/ddimageortext/ddimageortext.module.ts b/src/addons/qtype/ddimageortext/ddimageortext.module.ts index 139f77b48c6..30f6c197c7a 100644 --- a/src/addons/qtype/ddimageortext/ddimageortext.module.ts +++ b/src/addons/qtype/ddimageortext/ddimageortext.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; -import { AddonQtypeDdImageOrTextComponent } from './component/ddimageortext'; import { AddonQtypeDdImageOrTextHandler } from './services/handlers/ddimageortext'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeDdImageOrTextComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeDdImageOrTextHandler } from './services/handlers/ddimageortex }, }, ], - exports: [ - AddonQtypeDdImageOrTextComponent, - ], }) export class AddonQtypeDdImageOrTextModule {} diff --git a/src/addons/qtype/ddmarker/ddmarker.module.ts b/src/addons/qtype/ddmarker/ddmarker.module.ts index cdf3e53c2f5..4fb597cf051 100644 --- a/src/addons/qtype/ddmarker/ddmarker.module.ts +++ b/src/addons/qtype/ddmarker/ddmarker.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; -import { AddonQtypeDdMarkerComponent } from './component/ddmarker'; import { AddonQtypeDdMarkerHandler } from './services/handlers/ddmarker'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeDdMarkerComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeDdMarkerHandler } from './services/handlers/ddmarker'; }, }, ], - exports: [ - AddonQtypeDdMarkerComponent, - ], }) export class AddonQtypeDdMarkerModule {} diff --git a/src/addons/qtype/ddwtos/ddwtos.module.ts b/src/addons/qtype/ddwtos/ddwtos.module.ts index 2935342de3c..05e21ff967c 100644 --- a/src/addons/qtype/ddwtos/ddwtos.module.ts +++ b/src/addons/qtype/ddwtos/ddwtos.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; -import { AddonQtypeDdwtosComponent } from './component/ddwtos'; import { AddonQtypeDdwtosHandler } from './services/handlers/ddwtos'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeDdwtosComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeDdwtosHandler } from './services/handlers/ddwtos'; }, }, ], - exports: [ - AddonQtypeDdwtosComponent, - ], }) export class AddonQtypeDdwtosModule {} diff --git a/src/addons/qtype/description/description.module.ts b/src/addons/qtype/description/description.module.ts index 46497a7a99d..a7d7bdf632f 100644 --- a/src/addons/qtype/description/description.module.ts +++ b/src/addons/qtype/description/description.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; -import { AddonQtypeDescriptionComponent } from './component/description'; import { AddonQtypeDescriptionHandler } from './services/handlers/description'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeDescriptionComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeDescriptionHandler } from './services/handlers/description'; }, }, ], - exports: [ - AddonQtypeDescriptionComponent, - ], }) export class AddonQtypeDescriptionModule {} diff --git a/src/addons/qtype/essay/essay.module.ts b/src/addons/qtype/essay/essay.module.ts index 55d958e38ea..0a704d15ecb 100644 --- a/src/addons/qtype/essay/essay.module.ts +++ b/src/addons/qtype/essay/essay.module.ts @@ -14,18 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; import { AddonQtypeEssayHandler } from './services/handlers/essay'; -import { AddonQtypeEssayComponent } from './component/essay'; @NgModule({ - imports: [ - CoreSharedModule, - CoreEditorComponentsModule, - AddonQtypeEssayComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -35,8 +27,5 @@ import { AddonQtypeEssayComponent } from './component/essay'; }, }, ], - exports: [ - AddonQtypeEssayComponent, - ], }) export class AddonQtypeEssayModule {} diff --git a/src/addons/qtype/gapselect/gapselect.module.ts b/src/addons/qtype/gapselect/gapselect.module.ts index ffde087ed90..31cce7565da 100644 --- a/src/addons/qtype/gapselect/gapselect.module.ts +++ b/src/addons/qtype/gapselect/gapselect.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; -import { AddonQtypeGapSelectComponent } from './component/gapselect'; import { AddonQtypeGapSelectHandler } from './services/handlers/gapselect'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeGapSelectComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeGapSelectHandler } from './services/handlers/gapselect'; }, }, ], - exports: [ - AddonQtypeGapSelectComponent, - ], }) export class AddonQtypeGapSelectModule {} diff --git a/src/addons/qtype/match/match.module.ts b/src/addons/qtype/match/match.module.ts index a7aa9f9142e..3ac60b9ad0b 100644 --- a/src/addons/qtype/match/match.module.ts +++ b/src/addons/qtype/match/match.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; -import { AddonQtypeMatchComponent } from './component/match'; import { AddonQtypeMatchHandler } from './services/handlers/match'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeMatchComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeMatchHandler } from './services/handlers/match'; }, }, ], - exports: [ - AddonQtypeMatchComponent, - ], }) export class AddonQtypeMatchModule {} diff --git a/src/addons/qtype/multianswer/multianswer.module.ts b/src/addons/qtype/multianswer/multianswer.module.ts index 2486711e4f9..b105c137bb6 100644 --- a/src/addons/qtype/multianswer/multianswer.module.ts +++ b/src/addons/qtype/multianswer/multianswer.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; -import { AddonQtypeMultiAnswerComponent } from './component/multianswer'; import { AddonQtypeMultiAnswerHandler } from './services/handlers/multianswer'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeMultiAnswerComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeMultiAnswerHandler } from './services/handlers/multianswer'; }, }, ], - exports: [ - AddonQtypeMultiAnswerComponent, - ], }) export class AddonQtypeMultiAnswerModule {} diff --git a/src/addons/qtype/multichoice/multichoice.module.ts b/src/addons/qtype/multichoice/multichoice.module.ts index 483b3e55890..da763fdbf8c 100644 --- a/src/addons/qtype/multichoice/multichoice.module.ts +++ b/src/addons/qtype/multichoice/multichoice.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonQtypeMultichoiceComponent } from './component/multichoice'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; import { AddonQtypeMultichoiceHandler } from './services/handlers/multichoice'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeMultichoiceComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeMultichoiceHandler } from './services/handlers/multichoice'; }, }, ], - exports: [ - AddonQtypeMultichoiceComponent, - ], }) export class AddonQtypeMultichoiceModule {} diff --git a/src/addons/qtype/numerical/numerical.module.ts b/src/addons/qtype/numerical/numerical.module.ts index d3e7b166a70..afb368a80c3 100644 --- a/src/addons/qtype/numerical/numerical.module.ts +++ b/src/addons/qtype/numerical/numerical.module.ts @@ -16,14 +16,8 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; import { AddonQtypeNumericalHandler } from './services/handlers/numerical'; -import { CoreSharedModule } from '@/core/shared.module'; -import { AddonQtypeNumericalComponent } from './component/numerical'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeNumericalComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeNumericalComponent } from './component/numerical'; }, }, ], - exports: [ - AddonQtypeNumericalComponent, - ], }) export class AddonQtypeNumericalModule {} diff --git a/src/addons/qtype/ordering/ordering.module.ts b/src/addons/qtype/ordering/ordering.module.ts index 1f960ef6459..bfb9b942ac2 100644 --- a/src/addons/qtype/ordering/ordering.module.ts +++ b/src/addons/qtype/ordering/ordering.module.ts @@ -15,14 +15,8 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; import { AddonQtypeOrderingHandler } from './services/handlers/ordering'; -import { AddonQtypeOrderingComponent } from './component/ordering'; -import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeOrderingComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -32,8 +26,5 @@ import { CoreSharedModule } from '@/core/shared.module'; }, }, ], - exports: [ - AddonQtypeOrderingComponent, - ], }) export class AddonQtypeOrderingModule {} diff --git a/src/addons/qtype/shortanswer/shortanswer.module.ts b/src/addons/qtype/shortanswer/shortanswer.module.ts index b4e77e177fe..7e4050aefaa 100644 --- a/src/addons/qtype/shortanswer/shortanswer.module.ts +++ b/src/addons/qtype/shortanswer/shortanswer.module.ts @@ -14,16 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; -import { AddonQtypeShortAnswerComponent } from './component/shortanswer'; import { AddonQtypeShortAnswerHandler } from './services/handlers/shortanswer'; @NgModule({ - imports: [ - CoreSharedModule, - AddonQtypeShortAnswerComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { AddonQtypeShortAnswerHandler } from './services/handlers/shortanswer'; }, }, ], - exports: [ - AddonQtypeShortAnswerComponent, - ], }) export class AddonQtypeShortAnswerModule {} diff --git a/src/addons/storagemanager/pages/course-storage/course-storage.ts b/src/addons/storagemanager/pages/course-storage/course-storage.ts index b139858be9b..26d1d88fe9d 100644 --- a/src/addons/storagemanager/pages/course-storage/course-storage.ts +++ b/src/addons/storagemanager/pages/course-storage/course-storage.ts @@ -53,7 +53,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonStorageManagerCourseStoragePage implements OnInit, OnDestroy { +export default class AddonStorageManagerCourseStoragePage implements OnInit, OnDestroy { courseId!: number; title = ''; diff --git a/src/addons/storagemanager/pages/courses-storage/courses-storage.ts b/src/addons/storagemanager/pages/courses-storage/courses-storage.ts index 7db9621ea14..32788094ad1 100644 --- a/src/addons/storagemanager/pages/courses-storage/courses-storage.ts +++ b/src/addons/storagemanager/pages/courses-storage/courses-storage.ts @@ -43,7 +43,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class AddonStorageManagerCoursesStoragePage implements OnInit, OnDestroy { +export default class AddonStorageManagerCoursesStoragePage implements OnInit, OnDestroy { userCourses: CoreEnrolledCourseData[] = []; downloadedCourses: DownloadedCourse[] = []; diff --git a/src/addons/storagemanager/storagemanager-lazy.module.ts b/src/addons/storagemanager/storagemanager-lazy.module.ts deleted file mode 100644 index 2fe8d19623d..00000000000 --- a/src/addons/storagemanager/storagemanager-lazy.module.ts +++ /dev/null @@ -1,41 +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 { CoreSharedModule } from '@/core/shared.module'; -import { AddonStorageManagerCoursesStoragePage } from './pages/courses-storage/courses-storage'; -import { AddonStorageManagerCourseStoragePage } from './pages/course-storage/course-storage'; - -const routes: Routes = [ - { - path: 'storage', - component: AddonStorageManagerCoursesStoragePage, - }, - { - path: 'storage/:courseId', - component: AddonStorageManagerCourseStoragePage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - AddonStorageManagerCoursesStoragePage, - AddonStorageManagerCourseStoragePage, - ], -}) -export default class AddonStorageManagerLazyModule {} diff --git a/src/addons/storagemanager/storagemanager.module.ts b/src/addons/storagemanager/storagemanager.module.ts index cd860e5d93a..da9d4df4807 100644 --- a/src/addons/storagemanager/storagemanager.module.ts +++ b/src/addons/storagemanager/storagemanager.module.ts @@ -22,8 +22,13 @@ import { AddonStorageManagerSettingsHandler } from './services/handlers/settings const routes: Routes = [ { - path: '', - loadChildren: () => import('@addons/storagemanager/storagemanager-lazy.module'), + path: 'storage', + loadComponent: () => import('./pages/courses-storage/courses-storage'), + }, + { + path: 'storage/:courseId', + loadComponent: () => import('./pages/course-storage/course-storage'), + }, ]; diff --git a/src/addons/userprofilefield/checkbox/checkbox.module.ts b/src/addons/userprofilefield/checkbox/checkbox.module.ts index 17727d26a26..16de7daa811 100644 --- a/src/addons/userprofilefield/checkbox/checkbox.module.ts +++ b/src/addons/userprofilefield/checkbox/checkbox.module.ts @@ -16,14 +16,8 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonUserProfileFieldCheckboxHandler } from './services/handlers/checkbox'; import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profile-field-delegate'; -import { AddonUserProfileFieldCheckboxComponent } from './component/checkbox'; -import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - imports: [ - CoreSharedModule, - AddonUserProfileFieldCheckboxComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { CoreSharedModule } from '@/core/shared.module'; }, }, ], - exports: [ - AddonUserProfileFieldCheckboxComponent, - ], }) export class AddonUserProfileFieldCheckboxModule {} diff --git a/src/addons/userprofilefield/datetime/datetime.module.ts b/src/addons/userprofilefield/datetime/datetime.module.ts index 6e1b0da4fc1..93dd2dcee6a 100644 --- a/src/addons/userprofilefield/datetime/datetime.module.ts +++ b/src/addons/userprofilefield/datetime/datetime.module.ts @@ -16,14 +16,8 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonUserProfileFieldDatetimeHandler } from './services/handlers/datetime'; import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profile-field-delegate'; -import { AddonUserProfileFieldDatetimeComponent } from './component/datetime'; -import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - imports: [ - CoreSharedModule, - AddonUserProfileFieldDatetimeComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { CoreSharedModule } from '@/core/shared.module'; }, }, ], - exports: [ - AddonUserProfileFieldDatetimeComponent, - ], }) export class AddonUserProfileFieldDatetimeModule {} diff --git a/src/addons/userprofilefield/menu/menu.module.ts b/src/addons/userprofilefield/menu/menu.module.ts index 2275962fd6c..dfbace8fde7 100644 --- a/src/addons/userprofilefield/menu/menu.module.ts +++ b/src/addons/userprofilefield/menu/menu.module.ts @@ -16,14 +16,8 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonUserProfileFieldMenuHandler } from './services/handlers/menu'; import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profile-field-delegate'; -import { AddonUserProfileFieldMenuComponent } from './component/menu'; -import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - imports: [ - CoreSharedModule, - AddonUserProfileFieldMenuComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { CoreSharedModule } from '@/core/shared.module'; }, }, ], - exports: [ - AddonUserProfileFieldMenuComponent, - ], }) export class AddonUserProfileFieldMenuModule {} diff --git a/src/addons/userprofilefield/social/social.module.ts b/src/addons/userprofilefield/social/social.module.ts index efda5cd4cc5..a1d1cf59c1e 100644 --- a/src/addons/userprofilefield/social/social.module.ts +++ b/src/addons/userprofilefield/social/social.module.ts @@ -16,14 +16,8 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonUserProfileFieldSocialHandler } from './services/handlers/social'; import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profile-field-delegate'; -import { AddonUserProfileFieldSocialComponent } from './component/social'; -import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - imports: [ - CoreSharedModule, - AddonUserProfileFieldSocialComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { CoreSharedModule } from '@/core/shared.module'; }, }, ], - exports: [ - AddonUserProfileFieldSocialComponent, - ], }) export class AddonUserProfileFieldSocialModule {} diff --git a/src/addons/userprofilefield/text/text.module.ts b/src/addons/userprofilefield/text/text.module.ts index 1d470433ed7..8772f184d8a 100644 --- a/src/addons/userprofilefield/text/text.module.ts +++ b/src/addons/userprofilefield/text/text.module.ts @@ -16,14 +16,8 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonUserProfileFieldTextHandler } from './services/handlers/text'; import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profile-field-delegate'; -import { AddonUserProfileFieldTextComponent } from './component/text'; -import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - imports: [ - CoreSharedModule, - AddonUserProfileFieldTextComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -33,8 +27,5 @@ import { CoreSharedModule } from '@/core/shared.module'; }, }, ], - exports: [ - AddonUserProfileFieldTextComponent, - ], }) export class AddonUserProfileFieldTextModule {} diff --git a/src/addons/userprofilefield/textarea/textarea.module.ts b/src/addons/userprofilefield/textarea/textarea.module.ts index 2bb1e11d1b8..9de86637f17 100644 --- a/src/addons/userprofilefield/textarea/textarea.module.ts +++ b/src/addons/userprofilefield/textarea/textarea.module.ts @@ -16,16 +16,8 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { AddonUserProfileFieldTextareaHandler } from './services/handlers/textarea'; import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profile-field-delegate'; -import { AddonUserProfileFieldTextareaComponent } from './component/textarea'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; @NgModule({ - imports: [ - CoreSharedModule, - CoreEditorComponentsModule, - AddonUserProfileFieldTextareaComponent, - ], providers: [ { provide: APP_INITIALIZER, @@ -35,8 +27,5 @@ import { CoreEditorComponentsModule } from '@features/editor/components/componen }, }, ], - exports: [ - AddonUserProfileFieldTextareaComponent, - ], }) export class AddonUserProfileFieldTextareaModule {} From f337eebd57d30acc3c1c755bf8b86ab8f4d858fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Fri, 31 Jan 2025 14:42:30 +0100 Subject: [PATCH 03/16] MOBILE-4759 workshop: Fix circular dependancy on submission --- .../workshop/components/index/addon-mod-workshop-index.html | 6 +++--- src/addons/mod/workshop/components/submission/submission.ts | 6 ++---- src/addons/mod/workshop/pages/submission/submission.html | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) 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 4df23f573bf..d1088e8d453 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 @@ -132,7 +132,7 @@

{{ 'addon.mod_workshop.publishedsubmissions' | translat + [workshop]="workshop" [access]="access" [summary]="true" class="core-as-item" /> @@ -163,7 +163,7 @@

{{ 'addon.mod_workshop.assignedassessments' | translate @@ -184,7 +184,7 @@

{{ 'addon.mod + [workshop]="workshop" [access]="access" [summary]="true" class="core-as-item" /> diff --git a/src/addons/mod/workshop/components/submission/submission.ts b/src/addons/mod/workshop/components/submission/submission.ts index c28a4e06f88..0acb695f9dd 100644 --- a/src/addons/mod/workshop/components/submission/submission.ts +++ b/src/addons/mod/workshop/components/submission/submission.ts @@ -18,7 +18,6 @@ import { CoreCourseModuleData } from '@features/course/services/course-helper'; import { CoreUser, CoreUserProfile } from '@features/user/services/user'; import { CoreNavigator } from '@services/navigator'; import { CoreSites } from '@services/sites'; -import AddonModWorkshopSubmissionPage from '../../pages/submission/submission'; import { AddonModWorkshopData, AddonModWorkshopGetWorkshopAccessInformationWSResponse, @@ -54,13 +53,13 @@ export class AddonModWorkshopSubmissionComponent implements OnInit { @Input({ required: true }) courseId!: number; @Input() assessment?: AddonModWorkshopSubmissionAssessmentWithFormData; @Input({ transform: toBoolean }) summary = false; + @Input({ transform: toBoolean }) viewDetails = false; component = ADDON_MOD_WORKSHOP_COMPONENT; componentId?: number; userId: number; loaded = false; offline = false; - viewDetails = false; profile?: CoreUserProfile; showGrade: (grade?: number|string) => boolean; evaluateByProfile?: CoreUserProfile; @@ -101,8 +100,7 @@ export class AddonModWorkshopSubmissionComponent implements OnInit { })); } - this.viewDetails = !this.summary && this.workshop.phase == AddonModWorkshopPhase.PHASE_CLOSED && - CoreNavigator.getCurrentRoute().component != AddonModWorkshopSubmissionPage; + this.viewDetails = this.viewDetails && this.workshop.phase === AddonModWorkshopPhase.PHASE_CLOSED; if (this.viewDetails && this.submission.gradeoverby) { promises.push(CoreUser.getProfile(this.submission.gradeoverby, this.courseId, true).then((profile) => { diff --git a/src/addons/mod/workshop/pages/submission/submission.html b/src/addons/mod/workshop/pages/submission/submission.html index 0a4ed502901..1fecc286fd0 100644 --- a/src/addons/mod/workshop/pages/submission/submission.html +++ b/src/addons/mod/workshop/pages/submission/submission.html @@ -27,7 +27,7 @@

+ [access]="access" [viewDetails]="true" /> From defcfb9c929a7b776c0735a9c24c52dadb4fcfee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Fri, 31 Jan 2025 15:09:48 +0100 Subject: [PATCH 04/16] MOBILE-4759 chore: Remove unneeded component modules --- src/addons/mod/assign/assign.module.ts | 10 +++++-- .../assign/components/components.module.ts | 26 ---------------- .../mod/data/components/components.module.ts | 26 ---------------- src/addons/mod/data/components/index/index.ts | 6 ++-- .../components/search-modal/search-modal.ts | 8 +++-- src/addons/mod/data/pages/edit/edit.ts | 8 +++-- src/addons/mod/data/pages/entry/entry.ts | 6 ++-- src/addons/mod/data/services/data-helper.ts | 17 ++++++++++- .../mod/quiz/components/components.module.ts | 30 ------------------- src/addons/mod/quiz/quiz.module.ts | 10 +++++-- .../workshop/components/components.module.ts | 23 -------------- src/addons/mod/workshop/workshop.module.ts | 5 ++-- 12 files changed, 53 insertions(+), 122 deletions(-) delete mode 100644 src/addons/mod/assign/components/components.module.ts delete mode 100644 src/addons/mod/data/components/components.module.ts delete mode 100644 src/addons/mod/quiz/components/components.module.ts delete mode 100644 src/addons/mod/workshop/components/components.module.ts diff --git a/src/addons/mod/assign/assign.module.ts b/src/addons/mod/assign/assign.module.ts index abd3eead7d5..b27850dd55a 100644 --- a/src/addons/mod/assign/assign.module.ts +++ b/src/addons/mod/assign/assign.module.ts @@ -62,9 +62,15 @@ export async function getModAssignServices(): Promise[]> { * @returns Assign component modules. */ export async function getModAssignComponentModules(): Promise { - const { AddonModAssignComponentsModule } = await import('@addons/mod/assign/components/components.module'); + const { AddonModAssignSubmissionPluginComponent } = + await import('@addons/mod/assign/components/submission-plugin/submission-plugin'); + const { AddonModAssignFeedbackPluginComponent } = + await import('@addons/mod/assign/components/feedback-plugin/feedback-plugin'); - return [AddonModAssignComponentsModule]; + return [ + AddonModAssignSubmissionPluginComponent, + AddonModAssignFeedbackPluginComponent, + ]; } const routes: Routes = [ diff --git a/src/addons/mod/assign/components/components.module.ts b/src/addons/mod/assign/components/components.module.ts deleted file mode 100644 index 18a6c76803f..00000000000 --- a/src/addons/mod/assign/components/components.module.ts +++ /dev/null @@ -1,26 +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 { AddonModAssignSubmissionPluginComponent } from './submission-plugin/submission-plugin'; -import { AddonModAssignFeedbackPluginComponent } from './feedback-plugin/feedback-plugin'; - -@NgModule({ - imports: [ - AddonModAssignSubmissionPluginComponent, - AddonModAssignFeedbackPluginComponent, - ], -}) -export class AddonModAssignComponentsModule {} diff --git a/src/addons/mod/data/components/components.module.ts b/src/addons/mod/data/components/components.module.ts deleted file mode 100644 index 5e9a98c0f80..00000000000 --- a/src/addons/mod/data/components/components.module.ts +++ /dev/null @@ -1,26 +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 { AddonModDataFieldPluginComponent } from './field-plugin/field-plugin'; -import { AddonModDataActionComponent } from './action/action'; - -// This module is intended to be passed to the compiler in order to avoid circular depencencies. -@NgModule({ - imports: [ - AddonModDataFieldPluginComponent, - AddonModDataActionComponent, - ], -}) -export class AddonModDataComponentsCompileModule {} diff --git a/src/addons/mod/data/components/index/index.ts b/src/addons/mod/data/components/index/index.ts index 0efdd633a44..d96539b7b0d 100644 --- a/src/addons/mod/data/components/index/index.ts +++ b/src/addons/mod/data/components/index/index.ts @@ -39,7 +39,7 @@ import { import { AddonModDataHelper, AddonModDatDisplayFieldsOptions } from '../../services/data-helper'; import { AddonModDataAutoSyncData, AddonModDataSyncResult } from '../../services/data-sync'; import { AddonModDataPrefetchHandler } from '../../services/handlers/prefetch-lazy'; -import { AddonModDataComponentsCompileModule } from '../components.module'; + import { CoreUrl } from '@singletons/url'; import { CoreTime } from '@singletons/time'; import { @@ -107,7 +107,7 @@ export class AddonModDataIndexComponent extends CoreCourseModuleMainActivityComp hasNextPage = false; entriesRendered = ''; - extraImports: Type[] = [AddonModDataComponentsCompileModule]; + extraImports: Type[] = []; jsData?: { fields: Record; @@ -149,6 +149,8 @@ export class AddonModDataIndexComponent extends CoreCourseModuleMainActivityComp async ngOnInit(): Promise { await super.ngOnInit(); + this.extraImports = await AddonModDataHelper.getComponentsToCompile(); + this.selectedGroup = this.group || 0; // Refresh entries on change. diff --git a/src/addons/mod/data/components/search-modal/search-modal.ts b/src/addons/mod/data/components/search-modal/search-modal.ts index 70a9fb7eb9d..634e6f9b5e4 100644 --- a/src/addons/mod/data/components/search-modal/search-modal.ts +++ b/src/addons/mod/data/components/search-modal/search-modal.ts @@ -27,7 +27,7 @@ import { } from '../../services/data'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; import { AddonModDataHelper } from '../../services/data-helper'; -import { AddonModDataComponentsCompileModule } from '../components.module'; + import { AddonModDataSearchDataParams } from '../index'; import { AddonModDataTemplateType } from '../../constants'; import { CoreSharedModule } from '@/core/shared.module'; @@ -56,7 +56,7 @@ export class AddonModDataSearchModalComponent implements OnInit { advancedSearch = ''; advancedIndexed: CoreFormFields = {}; - extraImports: Type[] = [AddonModDataComponentsCompileModule]; + extraImports: Type[] = []; searchForm: FormGroup; jsData?: { @@ -73,7 +73,7 @@ export class AddonModDataSearchModalComponent implements OnInit { this.searchForm = new FormGroup({}); } - ngOnInit(): void { + async ngOnInit(): Promise { this.advancedIndexed = {}; this.search.advanced?.forEach((field) => { if (field !== undefined) { @@ -91,6 +91,8 @@ export class AddonModDataSearchModalComponent implements OnInit { this.fieldsArray = CoreObject.toArray(this.fields); this.advancedSearch = this.renderAdvancedSearchFields(); + + this.extraImports = await AddonModDataHelper.getComponentsToCompile(); } /** diff --git a/src/addons/mod/data/pages/edit/edit.ts b/src/addons/mod/data/pages/edit/edit.ts index d02b21536af..f109441b8cc 100644 --- a/src/addons/mod/data/pages/edit/edit.ts +++ b/src/addons/mod/data/pages/edit/edit.ts @@ -25,7 +25,7 @@ import { CoreForms } from '@singletons/form'; import { CoreUtils } from '@singletons/utils'; import { Translate } from '@singletons'; import { CoreEvents } from '@singletons/events'; -import { AddonModDataComponentsCompileModule } from '../../components/components.module'; + import { AddonModDataData, AddonModDataField, @@ -91,7 +91,7 @@ export default class AddonModDataEditPage implements OnInit { groupInfo?: CoreGroupInfo; editFormRender = ''; editForm: FormGroup; - extraImports: Type[] = [AddonModDataComponentsCompileModule]; + extraImports: Type[] = []; jsData?: { fields: Record; database?: AddonModDataData; @@ -125,7 +125,7 @@ export default class AddonModDataEditPage implements OnInit { /** * @inheritdoc */ - ngOnInit(): void { + async ngOnInit(): Promise { try { this.moduleId = CoreNavigator.getRequiredRouteNumberParam('cmId'); this.courseId = CoreNavigator.getRequiredRouteNumberParam('courseId'); @@ -140,6 +140,8 @@ export default class AddonModDataEditPage implements OnInit { return; } + this.extraImports = await AddonModDataHelper.getComponentsToCompile(); + // If entryId is lower than 0 or null, it is a new entry or an offline entry. this.isEditing = this.entryId !== undefined && this.entryId > 0; diff --git a/src/addons/mod/data/pages/entry/entry.ts b/src/addons/mod/data/pages/entry/entry.ts index 7555411a28f..f872713dd0f 100644 --- a/src/addons/mod/data/pages/entry/entry.ts +++ b/src/addons/mod/data/pages/entry/entry.ts @@ -23,7 +23,7 @@ import { CoreNavigator } from '@services/navigator'; import { CoreSites } from '@services/sites'; import { CoreArray } from '@singletons/array'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; -import { AddonModDataComponentsCompileModule } from '../../components/components.module'; + import { AddonModData, AddonModDataData, @@ -99,7 +99,7 @@ export default class AddonModDataEntryPage implements OnInit, OnDestroy { showComments = false; entryHtml = ''; siteId: string; - extraImports: Type[] = [AddonModDataComponentsCompileModule]; + extraImports: Type[] = []; jsData?: { fields: Record; entries: Record; @@ -174,6 +174,8 @@ export default class AddonModDataEntryPage implements OnInit, OnDestroy { return; } + this.extraImports = await AddonModDataHelper.getComponentsToCompile(); + this.commentsEnabled = CoreComments.areCommentsEnabledInSite(); await this.fetchEntryData(); diff --git a/src/addons/mod/data/services/data-helper.ts b/src/addons/mod/data/services/data-helper.ts index ed0d31c590f..01716e7c567 100644 --- a/src/addons/mod/data/services/data-helper.ts +++ b/src/addons/mod/data/services/data-helper.ts @@ -13,7 +13,7 @@ // limitations under the License. import { ContextLevel } from '@/core/constants'; -import { Injectable } from '@angular/core'; +import { Injectable, Type } from '@angular/core'; import { CoreCourse } from '@features/course/services/course'; import { CoreFileUploader, CoreFileUploaderStoreFilesResult } from '@features/fileuploader/services/fileuploader'; import { CoreRatingOffline } from '@features/rating/services/rating-offline'; @@ -982,6 +982,21 @@ export class AddonModDataHelperProvider { return CoreFileUploader.uploadOrReuploadFiles(files, ADDON_MOD_DATA_COMPONENT, itemId, siteId); } + /** + * Get data components to compile. + * + * @returns Database components to compile. + */ + async getComponentsToCompile(): Promise[]> { + const { AddonModDataFieldPluginComponent } = await import('@addons/mod/data/components/field-plugin/field-plugin'); + const { AddonModDataActionComponent } = await import('@addons/mod/data/components/action/action'); + + return [ + AddonModDataFieldPluginComponent, + AddonModDataActionComponent, + ]; + } + } export const AddonModDataHelper = makeSingleton(AddonModDataHelperProvider); diff --git a/src/addons/mod/quiz/components/components.module.ts b/src/addons/mod/quiz/components/components.module.ts deleted file mode 100644 index e71465d2755..00000000000 --- a/src/addons/mod/quiz/components/components.module.ts +++ /dev/null @@ -1,30 +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 { AddonModQuizIndexComponent } from './index/index'; -import { AddonModQuizAttemptInfoComponent } from './attempt-info/attempt-info'; -import { AddonModQuizAttemptStateComponent } from './attempt-state/attempt-state'; -import { AddonModQuizQuestionCardComponent } from './question-card/question-card'; - -@NgModule({ - imports: [ - AddonModQuizAttemptInfoComponent, - AddonModQuizAttemptStateComponent, - AddonModQuizIndexComponent, - AddonModQuizQuestionCardComponent, - ], -}) -export class AddonModQuizComponentsModule {} diff --git a/src/addons/mod/quiz/quiz.module.ts b/src/addons/mod/quiz/quiz.module.ts index 0c9f27495af..a64fd3e7196 100644 --- a/src/addons/mod/quiz/quiz.module.ts +++ b/src/addons/mod/quiz/quiz.module.ts @@ -63,9 +63,15 @@ export async function getModQuizServices(): Promise[]> { * @returns Quiz component modules. */ export async function getModQuizComponentModules(): Promise { - const { AddonModQuizComponentsModule } = await import('@addons/mod/quiz/components/components.module'); + const { AddonModQuizAttemptInfoComponent } = await import('@addons/mod/quiz/components/attempt-info/attempt-info'); + const { AddonModQuizAttemptStateComponent } = await import('@addons/mod/quiz/components/attempt-state/attempt-state'); + const { AddonModQuizQuestionCardComponent } = await import('@addons/mod/quiz/components/question-card/question-card'); - return [AddonModQuizComponentsModule]; + return [ + AddonModQuizAttemptInfoComponent, + AddonModQuizAttemptStateComponent, + AddonModQuizQuestionCardComponent, + ]; } const routes: Routes = [ diff --git a/src/addons/mod/workshop/components/components.module.ts b/src/addons/mod/workshop/components/components.module.ts deleted file mode 100644 index 152662c4a08..00000000000 --- a/src/addons/mod/workshop/components/components.module.ts +++ /dev/null @@ -1,23 +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 { AddonModWorkshopAssessmentStrategyComponent } from './assessment-strategy/assessment-strategy'; - -@NgModule({ - imports: [ - AddonModWorkshopAssessmentStrategyComponent, - ], -}) -export class AddonModWorkshopComponentsModule {} diff --git a/src/addons/mod/workshop/workshop.module.ts b/src/addons/mod/workshop/workshop.module.ts index f0a481c2b8e..6ccfd578edd 100644 --- a/src/addons/mod/workshop/workshop.module.ts +++ b/src/addons/mod/workshop/workshop.module.ts @@ -59,9 +59,10 @@ export async function getModWorkshopServices(): Promise[]> { * @returns Workshop component modules. */ export async function getModWorkshopComponentModules(): Promise { - const { AddonModWorkshopComponentsModule } = await import('@addons/mod/workshop/components/components.module'); + const { AddonModWorkshopAssessmentStrategyComponent } = + await import('@addons/mod/workshop/components/assessment-strategy/assessment-strategy'); - return [AddonModWorkshopComponentsModule]; + return [AddonModWorkshopAssessmentStrategyComponent]; } const routes: Routes = [ From 81192bc378894ab4a153dbe28ecc8f4f7ba1b120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Mon, 3 Feb 2025 15:18:34 +0100 Subject: [PATCH 05/16] MOBILE-4759 lint: Change jsdoc/check-param-names to error --- .eslintrc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index d7825aa9f87..32ce2798758 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -199,7 +199,7 @@ const appConfig = { 'id-match': 'error', 'jsdoc/check-alignment': 'error', 'jsdoc/check-param-names': [ - 'warn', + 'error', { checkDestructured: false, enableFixer: true From cdf595545d362f8b61c4a956c45f3d890f5aaba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Mon, 3 Feb 2025 15:18:43 +0100 Subject: [PATCH 06/16] MOBILE-4759 lint: Link fixes --- src/addons/blog/pages/edit-entry/edit-entry.html | 6 +++--- src/addons/mod/data/fields/checkbox/checkbox.module.ts | 1 - src/addons/mod/data/fields/multimenu/multimenu.module.ts | 1 - src/addons/mod/feedback/pages/index/index.ts | 3 ++- src/addons/mod/folder/pages/index/index.ts | 3 ++- src/addons/mod/lesson/pages/index/index.ts | 3 ++- src/addons/mod/scorm/pages/index/index.ts | 3 ++- .../features/search/components/search-box/search-box.ts | 2 +- src/core/services/error-accordion.ts | 2 +- 9 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/addons/blog/pages/edit-entry/edit-entry.html b/src/addons/blog/pages/edit-entry/edit-entry.html index 3b2123277e1..3776788654b 100644 --- a/src/addons/blog/pages/edit-entry/edit-entry.html +++ b/src/addons/blog/pages/edit-entry/edit-entry.html @@ -61,9 +61,9 @@

{{ 'addon.blog.associations' | translate }}

} @else if (associatedCourse) { - + }
diff --git a/src/addons/mod/data/fields/checkbox/checkbox.module.ts b/src/addons/mod/data/fields/checkbox/checkbox.module.ts index ef480f56cc7..b93f9ec9544 100644 --- a/src/addons/mod/data/fields/checkbox/checkbox.module.ts +++ b/src/addons/mod/data/fields/checkbox/checkbox.module.ts @@ -13,7 +13,6 @@ // limitations under the License. import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { AddonModDataFieldCheckboxComponent } from './component/checkbox'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; import { AddonModDataFieldCheckboxHandler } from './services/handler'; diff --git a/src/addons/mod/data/fields/multimenu/multimenu.module.ts b/src/addons/mod/data/fields/multimenu/multimenu.module.ts index a6c8a29cc12..abf36954e09 100644 --- a/src/addons/mod/data/fields/multimenu/multimenu.module.ts +++ b/src/addons/mod/data/fields/multimenu/multimenu.module.ts @@ -14,7 +14,6 @@ import { NgModule, APP_INITIALIZER } from '@angular/core'; import { AddonModDataFieldsDelegate } from '../../services/data-fields-delegate'; -import { AddonModDataFieldMultimenuComponent } from './component/multimenu'; import { AddonModDataFieldMultimenuHandler } from './services/handler'; @NgModule({ diff --git a/src/addons/mod/feedback/pages/index/index.ts b/src/addons/mod/feedback/pages/index/index.ts index 72304597779..4baf7e145b7 100644 --- a/src/addons/mod/feedback/pages/index/index.ts +++ b/src/addons/mod/feedback/pages/index/index.ts @@ -31,7 +31,8 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModFeedbackIndexComponent, ], }) -export default class AddonModFeedbackIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModFeedbackIndexPage extends CoreCourseModuleMainActivityPage + implements OnInit { @ViewChild(AddonModFeedbackIndexComponent) activityComponent?: AddonModFeedbackIndexComponent; diff --git a/src/addons/mod/folder/pages/index/index.ts b/src/addons/mod/folder/pages/index/index.ts index 6fc466fd392..54023c04eb4 100644 --- a/src/addons/mod/folder/pages/index/index.ts +++ b/src/addons/mod/folder/pages/index/index.ts @@ -32,7 +32,8 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModFolderIndexComponent, ], }) -export default class AddonModFolderIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModFolderIndexPage extends CoreCourseModuleMainActivityPage + implements OnInit { @ViewChild(AddonModFolderIndexComponent) activityComponent?: AddonModFolderIndexComponent; diff --git a/src/addons/mod/lesson/pages/index/index.ts b/src/addons/mod/lesson/pages/index/index.ts index 058e4503acd..d698a7b06ab 100644 --- a/src/addons/mod/lesson/pages/index/index.ts +++ b/src/addons/mod/lesson/pages/index/index.ts @@ -30,7 +30,8 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModLessonIndexComponent, ], }) -export default class AddonModLessonIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModLessonIndexPage extends CoreCourseModuleMainActivityPage + implements OnInit { @ViewChild(AddonModLessonIndexComponent) activityComponent?: AddonModLessonIndexComponent; diff --git a/src/addons/mod/scorm/pages/index/index.ts b/src/addons/mod/scorm/pages/index/index.ts index 35ed62d496a..bdf13d36250 100644 --- a/src/addons/mod/scorm/pages/index/index.ts +++ b/src/addons/mod/scorm/pages/index/index.ts @@ -30,7 +30,8 @@ import { CoreSharedModule } from '@/core/shared.module'; AddonModScormIndexComponent, ], }) -export default class AddonModScormIndexPage extends CoreCourseModuleMainActivityPage implements OnInit { +export default class AddonModScormIndexPage extends CoreCourseModuleMainActivityPage + implements OnInit { @ViewChild(AddonModScormIndexComponent) activityComponent?: AddonModScormIndexComponent; diff --git a/src/core/features/search/components/search-box/search-box.ts b/src/core/features/search/components/search-box/search-box.ts index 2b19a491e73..2f0965b4be9 100644 --- a/src/core/features/search/components/search-box/search-box.ts +++ b/src/core/features/search/components/search-box/search-box.ts @@ -153,7 +153,7 @@ export class CoreSearchBoxComponent implements OnInit { } /** - * @param event Focus event on input element. + * Search input focused. */ focus(): void { this.historyShown.set(true); diff --git a/src/core/services/error-accordion.ts b/src/core/services/error-accordion.ts index 6394422e904..3eb35bf6c41 100644 --- a/src/core/services/error-accordion.ts +++ b/src/core/services/error-accordion.ts @@ -52,8 +52,8 @@ export class CoreErrorAccordionService { /** * Get component html. * - * @param errorCode Error code. * @param errorDetails Error details. + * @param errorCode Error code. * @returns HTML. */ private html(errorDetails: string, errorCode?: string): string { From 3a6f027e9c622a7eca67cab0e6542fb65f29858d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Fri, 31 Jan 2025 22:06:54 +0100 Subject: [PATCH 07/16] MOBILE-4759 siteplugins: Use Activity components only in the proper site plugin --- src/addons/mod/assign/assign.module.ts | 2 +- src/addons/mod/data/components/index/index.ts | 4 +-- .../components/search-modal/search-modal.ts | 4 +-- src/addons/mod/data/pages/edit/edit.ts | 4 +-- src/addons/mod/data/pages/entry/entry.ts | 4 +-- src/addons/mod/quiz/quiz.module.ts | 17 ----------- src/addons/mod/workshop/workshop.module.ts | 2 +- .../compile-html/compile-html.module.ts | 30 ------------------- .../components/compile-html/compile-html.ts | 5 +++- src/core/features/compile/services/compile.ts | 9 ++---- .../classes/compile-init-component.ts | 2 ++ .../assign-feedback/assign-feedback.ts | 9 ++++-- .../core-siteplugins-assign-feedback.html | 2 +- .../assign-submission/assign-submission.ts | 9 ++++-- .../core-siteplugins-assign-submission.html | 2 +- .../siteplugins/components/block/block.ts | 2 -- .../components/components.module.ts | 28 ----------------- .../components/course-format/course-format.ts | 2 -- .../components/module-index/module-index.ts | 2 -- .../plugin-content/plugin-content.ts | 3 +- .../core-siteplugins-question-behaviour.html | 2 +- .../question-behaviour/question-behaviour.ts | 6 ++-- .../question/core-siteplugins-question.html | 2 +- .../components/question/question.ts | 6 ++-- .../core-siteplugins-quiz-access-rule.html | 2 +- .../quiz-access-rule/quiz-access-rule.ts | 6 ++-- .../user-profile-field/user-profile-field.ts | 4 +-- ...eplugins-workshop-assessment-strategy.html | 2 +- .../workshop-assessment-strategy.ts | 9 ++++-- upgrade.txt | 2 ++ 30 files changed, 57 insertions(+), 126 deletions(-) delete mode 100644 src/core/features/compile/components/compile-html/compile-html.module.ts delete mode 100644 src/core/features/siteplugins/components/components.module.ts diff --git a/src/addons/mod/assign/assign.module.ts b/src/addons/mod/assign/assign.module.ts index b27850dd55a..18f30a01c3a 100644 --- a/src/addons/mod/assign/assign.module.ts +++ b/src/addons/mod/assign/assign.module.ts @@ -61,7 +61,7 @@ export async function getModAssignServices(): Promise[]> { * * @returns Assign component modules. */ -export async function getModAssignComponentModules(): Promise { +export async function getModAssignComponentModules(): Promise[]> { const { AddonModAssignSubmissionPluginComponent } = await import('@addons/mod/assign/components/submission-plugin/submission-plugin'); const { AddonModAssignFeedbackPluginComponent } = diff --git a/src/addons/mod/data/components/index/index.ts b/src/addons/mod/data/components/index/index.ts index d96539b7b0d..a17ce796003 100644 --- a/src/addons/mod/data/components/index/index.ts +++ b/src/addons/mod/data/components/index/index.ts @@ -56,7 +56,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; @@ -73,7 +73,7 @@ const contentToken = ''; imports: [ CoreSharedModule, CoreCourseComponentsModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class AddonModDataIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/data/components/search-modal/search-modal.ts b/src/addons/mod/data/components/search-modal/search-modal.ts index 634e6f9b5e4..49d427c6394 100644 --- a/src/addons/mod/data/components/search-modal/search-modal.ts +++ b/src/addons/mod/data/components/search-modal/search-modal.ts @@ -31,7 +31,7 @@ import { AddonModDataHelper } from '../../services/data-helper'; import { AddonModDataSearchDataParams } from '../index'; import { AddonModDataTemplateType } from '../../constants'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; /** * Page that displays the search modal. @@ -43,7 +43,7 @@ import { CoreCompileHtmlComponentModule } from '@features/compile/components/com standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class AddonModDataSearchModalComponent implements OnInit { diff --git a/src/addons/mod/data/pages/edit/edit.ts b/src/addons/mod/data/pages/edit/edit.ts index f109441b8cc..c9590ff5213 100644 --- a/src/addons/mod/data/pages/edit/edit.ts +++ b/src/addons/mod/data/pages/edit/edit.ts @@ -47,7 +47,7 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreArray } from '@singletons/array'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -60,7 +60,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export default class AddonModDataEditPage implements OnInit { diff --git a/src/addons/mod/data/pages/entry/entry.ts b/src/addons/mod/data/pages/entry/entry.ts index f872713dd0f..15896db117f 100644 --- a/src/addons/mod/data/pages/entry/entry.ts +++ b/src/addons/mod/data/pages/entry/entry.ts @@ -47,7 +47,7 @@ import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -60,7 +60,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, CoreRatingComponentsModule, CoreCommentsComponentsModule, ], diff --git a/src/addons/mod/quiz/quiz.module.ts b/src/addons/mod/quiz/quiz.module.ts index a64fd3e7196..9d9510d5a82 100644 --- a/src/addons/mod/quiz/quiz.module.ts +++ b/src/addons/mod/quiz/quiz.module.ts @@ -57,23 +57,6 @@ export async function getModQuizServices(): Promise[]> { ]; } -/** - * Get quiz component modules. - * - * @returns Quiz component modules. - */ -export async function getModQuizComponentModules(): Promise { - const { AddonModQuizAttemptInfoComponent } = await import('@addons/mod/quiz/components/attempt-info/attempt-info'); - const { AddonModQuizAttemptStateComponent } = await import('@addons/mod/quiz/components/attempt-state/attempt-state'); - const { AddonModQuizQuestionCardComponent } = await import('@addons/mod/quiz/components/question-card/question-card'); - - return [ - AddonModQuizAttemptInfoComponent, - AddonModQuizAttemptStateComponent, - AddonModQuizQuestionCardComponent, - ]; -} - const routes: Routes = [ { path: ADDON_MOD_QUIZ_PAGE_NAME, diff --git a/src/addons/mod/workshop/workshop.module.ts b/src/addons/mod/workshop/workshop.module.ts index 6ccfd578edd..0346866f3ff 100644 --- a/src/addons/mod/workshop/workshop.module.ts +++ b/src/addons/mod/workshop/workshop.module.ts @@ -58,7 +58,7 @@ export async function getModWorkshopServices(): Promise[]> { * * @returns Workshop component modules. */ -export async function getModWorkshopComponentModules(): Promise { +export async function getModWorkshopComponentModules(): Promise[]> { const { AddonModWorkshopAssessmentStrategyComponent } = await import('@addons/mod/workshop/components/assessment-strategy/assessment-strategy'); diff --git a/src/core/features/compile/components/compile-html/compile-html.module.ts b/src/core/features/compile/components/compile-html/compile-html.module.ts deleted file mode 100644 index be8ae045d0e..00000000000 --- a/src/core/features/compile/components/compile-html/compile-html.module.ts +++ /dev/null @@ -1,30 +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 { CoreCompileHtmlComponent } from './compile-html'; -import { CoreSharedModule } from '@/core/shared.module'; - -@NgModule({ - declarations: [ - CoreCompileHtmlComponent, - ], - imports: [ - CoreSharedModule, - ], - exports: [ - CoreCompileHtmlComponent, - ], -}) -export class CoreCompileHtmlComponentModule {} diff --git a/src/core/features/compile/components/compile-html/compile-html.ts b/src/core/features/compile/components/compile-html/compile-html.ts index 7eff867c322..61f427c8e47 100644 --- a/src/core/features/compile/components/compile-html/compile-html.ts +++ b/src/core/features/compile/components/compile-html/compile-html.ts @@ -47,6 +47,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreWS } from '@services/ws'; import { CoreDom } from '@singletons/dom'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * This component has a behaviour similar to $compile for AngularJS. Given an HTML code, it will compile it so all its @@ -56,7 +57,7 @@ import { CoreAlerts } from '@services/overlays/alerts'; * component is used, so it can slow down the app. * * This component has its own module to prevent circular dependencies. If you want to use it, - * you need to import CoreCompileHtmlComponentModule. + * you need to import CoreCompileHtmlComponent. * * You can provide some Javascript code (as text) to be executed inside the component. The context of the javascript code (this) * will be the component instance created to compile the template. This means your javascript code can interact with the template. @@ -67,6 +68,8 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'core-compile-html', template: '', styles: [':host { display: contents; }'], + standalone: true, + imports: [CoreSharedModule], }) export class CoreCompileHtmlComponent implements OnChanges, OnDestroy, DoCheck { diff --git a/src/core/features/compile/services/compile.ts b/src/core/features/compile/services/compile.ts index 688c7557696..a4b80321d8f 100644 --- a/src/core/features/compile/services/compile.ts +++ b/src/core/features/compile/services/compile.ts @@ -122,9 +122,9 @@ import { getCompetencyServices } from '@addons/competency/competency.module'; import { getCourseCompletionServices } from '@addons/coursecompletion/coursecompletion.module'; import { getMessageOutputServices } from '@addons/messageoutput/messageoutput.module'; import { getMessagesServices } from '@addons/messages/messages.module'; -import { getModAssignComponentModules, getModAssignServices } from '@addons/mod/assign/assign.module'; -import { getModQuizComponentModules, getModQuizServices } from '@addons/mod/quiz/quiz.module'; -import { getModWorkshopComponentModules, getModWorkshopServices } from '@addons/mod/workshop/workshop.module'; +import { getModAssignServices } from '@addons/mod/assign/assign.module'; +import { getModQuizServices } from '@addons/mod/quiz/quiz.module'; +import { getModWorkshopServices } from '@addons/mod/workshop/workshop.module'; import { getNotesServices } from '@addons/notes/notes.module'; import { getNotificationsServices } from '@addons/notifications/notifications.module'; import { getPrivateFilesServices } from '@addons/privatefiles/privatefiles.module'; @@ -172,9 +172,6 @@ export class CoreCompileProvider { ]; protected readonly LAZY_IMPORTS = [ - getModAssignComponentModules, - getModQuizComponentModules, - getModWorkshopComponentModules, getCoreStandaloneComponents, getCourseStandaloneComponents, getSitePluginsDirectives, diff --git a/src/core/features/siteplugins/classes/compile-init-component.ts b/src/core/features/siteplugins/classes/compile-init-component.ts index 8949f015ca1..e53b2263241 100644 --- a/src/core/features/siteplugins/classes/compile-init-component.ts +++ b/src/core/features/siteplugins/classes/compile-init-component.ts @@ -14,6 +14,7 @@ import { CoreObject } from '@singletons/object'; import { CoreSitePlugins, CoreSitePluginsInitHandlerData } from '../services/siteplugins'; +import { Type } from '@angular/core'; /** * Base class for components that will display a component using core-compile-html and want to call a @@ -23,6 +24,7 @@ export class CoreSitePluginsCompileInitComponent { content = ''; // Content. jsData: Record = {}; // Data to pass to the component. + extraImports: Type[] = []; protected handlerSchema?: CoreSitePluginsInitHandlerData; // The handler data. /** diff --git a/src/core/features/siteplugins/components/assign-feedback/assign-feedback.ts b/src/core/features/siteplugins/components/assign-feedback/assign-feedback.ts index 1780c3c122c..01654455dc5 100644 --- a/src/core/features/siteplugins/components/assign-feedback/assign-feedback.ts +++ b/src/core/features/siteplugins/components/assign-feedback/assign-feedback.ts @@ -18,8 +18,9 @@ import { AddonModAssignAssign, AddonModAssignPlugin, AddonModAssignSubmission } import { AddonModAssignFeedbackDelegate } from '@addons/mod/assign/services/feedback-delegate'; import { CoreSitePluginsCompileInitComponent } from '@features/siteplugins/classes/compile-init-component'; import { toBoolean } from '@/core/transforms/boolean'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreSharedModule } from '@/core/shared.module'; +import { getModAssignComponentModules } from '@addons/mod/assign/assign.module'; /** * Component that displays an assign feedback plugin created using a site plugin. @@ -31,7 +32,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class CoreSitePluginsAssignFeedbackComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @@ -47,7 +48,7 @@ export class CoreSitePluginsAssignFeedbackComponent extends CoreSitePluginsCompi /** * @inheritdoc */ - ngOnInit(): void { + async ngOnInit(): Promise { // Pass the input and output data to the component. this.jsData.assign = this.assign; this.jsData.submission = this.submission; @@ -57,6 +58,8 @@ export class CoreSitePluginsAssignFeedbackComponent extends CoreSitePluginsCompi this.jsData.edit = this.edit; this.jsData.canEdit = this.canEdit; + this.extraImports = await getModAssignComponentModules(); + if (this.plugin) { this.getHandlerData(AddonModAssignFeedbackDelegate.getHandlerName(this.plugin.type)); } diff --git a/src/core/features/siteplugins/components/assign-feedback/core-siteplugins-assign-feedback.html b/src/core/features/siteplugins/components/assign-feedback/core-siteplugins-assign-feedback.html index 469fc233ee0..79830e9acf0 100644 --- a/src/core/features/siteplugins/components/assign-feedback/core-siteplugins-assign-feedback.html +++ b/src/core/features/siteplugins/components/assign-feedback/core-siteplugins-assign-feedback.html @@ -1 +1 @@ - + diff --git a/src/core/features/siteplugins/components/assign-submission/assign-submission.ts b/src/core/features/siteplugins/components/assign-submission/assign-submission.ts index f6780ab71af..d4e55cd4fb5 100644 --- a/src/core/features/siteplugins/components/assign-submission/assign-submission.ts +++ b/src/core/features/siteplugins/components/assign-submission/assign-submission.ts @@ -18,8 +18,9 @@ import { AddonModAssignAssign, AddonModAssignPlugin, AddonModAssignSubmission } import { AddonModAssignSubmissionDelegate } from '@addons/mod/assign/services/submission-delegate'; import { CoreSitePluginsCompileInitComponent } from '@features/siteplugins/classes/compile-init-component'; import { toBoolean } from '@/core/transforms/boolean'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreSharedModule } from '@/core/shared.module'; +import { getModAssignComponentModules } from '@addons/mod/assign/assign.module'; /** * Component that displays an assign submission plugin created using a site plugin. @@ -31,7 +32,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class CoreSitePluginsAssignSubmissionComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @@ -46,7 +47,7 @@ export class CoreSitePluginsAssignSubmissionComponent extends CoreSitePluginsCom /** * @inheritdoc */ - ngOnInit(): void { + async ngOnInit(): Promise { // Pass the input and output data to the component. this.jsData.assign = this.assign; this.jsData.submission = this.submission; @@ -55,6 +56,8 @@ export class CoreSitePluginsAssignSubmissionComponent extends CoreSitePluginsCom this.jsData.edit = this.edit; this.jsData.allowOffline = this.allowOffline; + this.extraImports = await getModAssignComponentModules(); + if (this.plugin) { this.getHandlerData(AddonModAssignSubmissionDelegate.getHandlerName(this.plugin.type)); } diff --git a/src/core/features/siteplugins/components/assign-submission/core-siteplugins-assign-submission.html b/src/core/features/siteplugins/components/assign-submission/core-siteplugins-assign-submission.html index 469fc233ee0..79830e9acf0 100644 --- a/src/core/features/siteplugins/components/assign-submission/core-siteplugins-assign-submission.html +++ b/src/core/features/siteplugins/components/assign-submission/core-siteplugins-assign-submission.html @@ -1 +1 @@ - + diff --git a/src/core/features/siteplugins/components/block/block.ts b/src/core/features/siteplugins/components/block/block.ts index 70f703550b0..8d83575cb91 100644 --- a/src/core/features/siteplugins/components/block/block.ts +++ b/src/core/features/siteplugins/components/block/block.ts @@ -18,7 +18,6 @@ import { CoreBlockBaseComponent } from '@features/block/classes/base-block-compo import { CoreBlockDelegate } from '@features/block/services/block-delegate'; import { CoreSitePlugins, CoreSitePluginsContent } from '@features/siteplugins/services/siteplugins'; import { CoreSitePluginsPluginContentComponent } from '../plugin-content/plugin-content'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -31,7 +30,6 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, CoreSitePluginsPluginContentComponent, ], }) diff --git a/src/core/features/siteplugins/components/components.module.ts b/src/core/features/siteplugins/components/components.module.ts deleted file mode 100644 index d78b787ce57..00000000000 --- a/src/core/features/siteplugins/components/components.module.ts +++ /dev/null @@ -1,28 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreCompileHtmlComponentModule, - CoreCourseComponentsModule, - ], -}) -export class CoreSitePluginsComponentsModule {} diff --git a/src/core/features/siteplugins/components/course-format/course-format.ts b/src/core/features/siteplugins/components/course-format/course-format.ts index ac3e78a03e4..4979d730510 100644 --- a/src/core/features/siteplugins/components/course-format/course-format.ts +++ b/src/core/features/siteplugins/components/course-format/course-format.ts @@ -20,7 +20,6 @@ import { CoreCourseFormatDelegate } from '@features/course/services/format-deleg import { CoreCourseAnyCourseData } from '@features/courses/services/courses'; import { CoreSitePlugins, CoreSitePluginsContent } from '@features/siteplugins/services/siteplugins'; import { CoreSitePluginsPluginContentComponent } from '../plugin-content/plugin-content'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -33,7 +32,6 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, CoreSitePluginsPluginContentComponent, ], }) 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 ba424a0fd92..36f5a59c251 100644 --- a/src/core/features/siteplugins/components/module-index/module-index.ts +++ b/src/core/features/siteplugins/components/module-index/module-index.ts @@ -31,7 +31,6 @@ import { import { CoreModals } from '@services/overlays/modals'; import { CoreUtils } from '@singletons/utils'; import { CoreSitePluginsPluginContentComponent, CoreSitePluginsPluginContentLoadedData } from '../plugin-content/plugin-content'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; @@ -45,7 +44,6 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, CoreCourseComponentsModule, CoreSitePluginsPluginContentComponent, ], diff --git a/src/core/features/siteplugins/components/plugin-content/plugin-content.ts b/src/core/features/siteplugins/components/plugin-content/plugin-content.ts index b13d63dfac6..bca6262098a 100644 --- a/src/core/features/siteplugins/components/plugin-content/plugin-content.ts +++ b/src/core/features/siteplugins/components/plugin-content/plugin-content.ts @@ -34,7 +34,6 @@ import { CoreNavigator } from '@services/navigator'; import { CoreEvents } from '@singletons/events'; import { CoreSites, CoreSitesReadingStrategy } from '@services/sites'; import { CORE_SITE_PLUGINS_UPDATE_COURSE_CONTENT } from '@features/siteplugins/constants'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; import { CoreSharedModule } from '@/core/shared.module'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; @@ -49,7 +48,7 @@ import { Translate } from '@singletons'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class CoreSitePluginsPluginContentComponent implements OnInit, DoCheck { diff --git a/src/core/features/siteplugins/components/question-behaviour/core-siteplugins-question-behaviour.html b/src/core/features/siteplugins/components/question-behaviour/core-siteplugins-question-behaviour.html index 469fc233ee0..79830e9acf0 100644 --- a/src/core/features/siteplugins/components/question-behaviour/core-siteplugins-question-behaviour.html +++ b/src/core/features/siteplugins/components/question-behaviour/core-siteplugins-question-behaviour.html @@ -1 +1 @@ - + diff --git a/src/core/features/siteplugins/components/question-behaviour/question-behaviour.ts b/src/core/features/siteplugins/components/question-behaviour/question-behaviour.ts index 206ec157400..edb13da73cd 100644 --- a/src/core/features/siteplugins/components/question-behaviour/question-behaviour.ts +++ b/src/core/features/siteplugins/components/question-behaviour/question-behaviour.ts @@ -16,7 +16,7 @@ import { ContextLevel } from '@/core/constants'; import { CoreSharedModule } from '@/core/shared.module'; import { toBoolean } from '@/core/transforms/boolean'; import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreQuestionBehaviourDelegate } from '@features/question/services/behaviour-delegate'; import { CoreQuestionBehaviourButton, CoreQuestionQuestion } from '@features/question/services/question-helper'; @@ -32,7 +32,7 @@ import { CoreSitePluginsCompileInitComponent } from '@features/siteplugins/class standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class CoreSitePluginsQuestionBehaviourComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @@ -57,7 +57,7 @@ export class CoreSitePluginsQuestionBehaviourComponent extends CoreSitePluginsCo /** * @inheritdoc */ - ngOnInit(): void { + async ngOnInit(): Promise { // Pass the input and output data to the component. this.jsData.question = this.question; this.jsData.component = this.component; diff --git a/src/core/features/siteplugins/components/question/core-siteplugins-question.html b/src/core/features/siteplugins/components/question/core-siteplugins-question.html index 469fc233ee0..79830e9acf0 100644 --- a/src/core/features/siteplugins/components/question/core-siteplugins-question.html +++ b/src/core/features/siteplugins/components/question/core-siteplugins-question.html @@ -1 +1 @@ - + diff --git a/src/core/features/siteplugins/components/question/question.ts b/src/core/features/siteplugins/components/question/question.ts index 45d0249f183..4f44f6a8d7e 100644 --- a/src/core/features/siteplugins/components/question/question.ts +++ b/src/core/features/siteplugins/components/question/question.ts @@ -16,7 +16,7 @@ import { ContextLevel } from '@/core/constants'; import { CoreSharedModule } from '@/core/shared.module'; import { toBoolean } from '@/core/transforms/boolean'; import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { AddonModQuizQuestion } from '@features/question/classes/base-question-component'; import { CoreQuestionDelegate } from '@features/question/services/question-delegate'; @@ -33,7 +33,7 @@ import { CoreSitePluginsCompileInitComponent } from '@features/siteplugins/class standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class CoreSitePluginsQuestionComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @@ -54,7 +54,7 @@ export class CoreSitePluginsQuestionComponent extends CoreSitePluginsCompileInit /** * @inheritdoc */ - ngOnInit(): void { + async ngOnInit(): Promise { // Pass the input and output data to the component. this.jsData.question = this.question; this.jsData.component = this.component; diff --git a/src/core/features/siteplugins/components/quiz-access-rule/core-siteplugins-quiz-access-rule.html b/src/core/features/siteplugins/components/quiz-access-rule/core-siteplugins-quiz-access-rule.html index 469fc233ee0..79830e9acf0 100644 --- a/src/core/features/siteplugins/components/quiz-access-rule/core-siteplugins-quiz-access-rule.html +++ b/src/core/features/siteplugins/components/quiz-access-rule/core-siteplugins-quiz-access-rule.html @@ -1 +1 @@ - + diff --git a/src/core/features/siteplugins/components/quiz-access-rule/quiz-access-rule.ts b/src/core/features/siteplugins/components/quiz-access-rule/quiz-access-rule.ts index 5f0515b784c..c2c1baff0e1 100644 --- a/src/core/features/siteplugins/components/quiz-access-rule/quiz-access-rule.ts +++ b/src/core/features/siteplugins/components/quiz-access-rule/quiz-access-rule.ts @@ -19,7 +19,7 @@ import { AddonModQuizAccessRuleDelegate } from '@addons/mod/quiz/services/access import { AddonModQuizAttemptWSData, AddonModQuizQuizWSData } from '@addons/mod/quiz/services/quiz'; import { CoreSitePluginsCompileInitComponent } from '@features/siteplugins/classes/compile-init-component'; import { toBoolean } from '@/core/transforms/boolean'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -32,7 +32,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class CoreSitePluginsQuizAccessRuleComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @@ -47,7 +47,7 @@ export class CoreSitePluginsQuizAccessRuleComponent extends CoreSitePluginsCompi /** * @inheritdoc */ - ngOnInit(): void { + async ngOnInit(): Promise { // Pass the input and output data to the component. this.jsData.rule = this.rule; this.jsData.quiz = this.quiz; diff --git a/src/core/features/siteplugins/components/user-profile-field/user-profile-field.ts b/src/core/features/siteplugins/components/user-profile-field/user-profile-field.ts index d9366fd7a44..dfcf9f87d68 100644 --- a/src/core/features/siteplugins/components/user-profile-field/user-profile-field.ts +++ b/src/core/features/siteplugins/components/user-profile-field/user-profile-field.ts @@ -17,7 +17,7 @@ import { CoreSharedModule } from '@/core/shared.module'; import { toBoolean } from '@/core/transforms/boolean'; import { Component, OnInit, Input } from '@angular/core'; import { FormGroup } from '@angular/forms'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { AuthEmailSignupProfileField } from '@features/login/services/login-helper'; import { CoreSitePluginsCompileInitComponent } from '@features/siteplugins/classes/compile-init-component'; @@ -34,7 +34,7 @@ import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profi standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class CoreSitePluginsUserProfileFieldComponent extends CoreSitePluginsCompileInitComponent implements OnInit { diff --git a/src/core/features/siteplugins/components/workshop-assessment-strategy/core-siteplugins-workshop-assessment-strategy.html b/src/core/features/siteplugins/components/workshop-assessment-strategy/core-siteplugins-workshop-assessment-strategy.html index 469fc233ee0..79830e9acf0 100644 --- a/src/core/features/siteplugins/components/workshop-assessment-strategy/core-siteplugins-workshop-assessment-strategy.html +++ b/src/core/features/siteplugins/components/workshop-assessment-strategy/core-siteplugins-workshop-assessment-strategy.html @@ -1 +1 @@ - + diff --git a/src/core/features/siteplugins/components/workshop-assessment-strategy/workshop-assessment-strategy.ts b/src/core/features/siteplugins/components/workshop-assessment-strategy/workshop-assessment-strategy.ts index 10bf13cf736..b9e57594e96 100644 --- a/src/core/features/siteplugins/components/workshop-assessment-strategy/workshop-assessment-strategy.ts +++ b/src/core/features/siteplugins/components/workshop-assessment-strategy/workshop-assessment-strategy.ts @@ -17,8 +17,9 @@ import { toBoolean } from '@/core/transforms/boolean'; import { AddonWorkshopAssessmentStrategyDelegate } from '@addons/mod/workshop/services/assessment-strategy-delegate'; import { AddonModWorkshopGetAssessmentFormFieldsParsedData } from '@addons/mod/workshop/services/workshop'; import { AddonModWorkshopSubmissionAssessmentWithFormData } from '@addons/mod/workshop/services/workshop-helper'; +import { getModWorkshopComponentModules } from '@addons/mod/workshop/workshop.module'; import { Component, OnInit, Input } from '@angular/core'; -import { CoreCompileHtmlComponentModule } from '@features/compile/components/compile-html/compile-html.module'; +import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreSitePluginsCompileInitComponent } from '@features/siteplugins/classes/compile-init-component'; /** @@ -31,7 +32,7 @@ import { CoreSitePluginsCompileInitComponent } from '@features/siteplugins/class standalone: true, imports: [ CoreSharedModule, - CoreCompileHtmlComponentModule, + CoreCompileHtmlComponent, ], }) export class CoreSitePluginsWorkshopAssessmentStrategyComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @@ -48,7 +49,7 @@ export class CoreSitePluginsWorkshopAssessmentStrategyComponent extends CoreSite /** * @inheritdoc */ - ngOnInit(): void { + async ngOnInit(): Promise { // Pass the input and output data to the component. this.jsData.workshopId = this.workshopId; this.jsData.assessment = this.assessment; @@ -57,6 +58,8 @@ export class CoreSitePluginsWorkshopAssessmentStrategyComponent extends CoreSite this.jsData.fieldErrors = this.fieldErrors; this.jsData.strategy = this.strategy; + this.extraImports = await getModWorkshopComponentModules(); + this.getHandlerData(AddonWorkshopAssessmentStrategyDelegate.getHandlerName(this.strategy)); } diff --git a/upgrade.txt b/upgrade.txt index 0dc69c27861..235610ba0f5 100644 --- a/upgrade.txt +++ b/upgrade.txt @@ -9,6 +9,8 @@ For more information about upgrading, read the official documentation: https://m - Some CoreColors functions have been refactored to handle alpha and to validate colors. - The parameters of CoreUrl.addParamsToUrl have changed. Now the third parameter is an object with all the optional parameters. - The following CoreLang functions were converted to async to properly handle child languages: addSitePluginsStrings, loadCustomStringsFromSite, loadCustomStrings, loadLangStrings, loadString. + - Assignment and Workshop components will only be available for siteplugins related to the same activity. + - Quiz components won't be available anymore for plugins. === 4.5.0 === From 797e725e6ef1fc3575524099d0f16253b718f506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Fri, 31 Jan 2025 22:48:47 +0100 Subject: [PATCH 08/16] MOBILE-4759 chore: Main components, pipes and directives as standalone --- .../components/attachments/attachments.ts | 21 ++++++++++++++ src/core/components/bs-tooltip/bs-tooltip.ts | 3 ++ .../button-with-spinner.ts | 4 +++ src/core/components/chart/chart.ts | 4 +++ src/core/components/chrono/chrono.ts | 5 ++++ src/core/components/combobox/combobox.ts | 16 ++++++++-- src/core/components/components.module.ts | 26 ++++------------- .../context-menu/context-menu-item.ts | 1 + .../components/context-menu/context-menu.ts | 9 ++++++ .../components/course-image/course-image.ts | 9 ++++++ .../download-refresh/download-refresh.ts | 11 +++++++ .../dynamic-component/dynamic-component.ts | 1 + src/core/components/empty-box/empty-box.ts | 4 +++ src/core/components/file/file.ts | 17 +++++++++++ src/core/components/files/files.ts | 13 +++++++++ .../group-selector/group-selector.ts | 13 +++++++++ .../horizontal-scroll-controls.ts | 11 +++++++ src/core/components/iframe/iframe.ts | 17 +++++++++++ .../infinite-loading/infinite-loading.ts | 10 ++++++- .../components/input-errors/input-errors.ts | 11 +++++++ src/core/components/loading/loading.ts | 3 ++ src/core/components/local-file/local-file.ts | 19 ++++++++++++ .../components/mark-required/mark-required.ts | 4 +++ src/core/components/message/message.ts | 19 ++++++++++++ src/core/components/mod-icon/mod-icon.ts | 3 ++ .../navbar-buttons/navbar-buttons.ts | 1 + .../navigation-bar/navigation-bar.ts | 11 +++++++ .../password-modal/password-modal.module.ts | 29 ------------------- .../password-modal/password-modal.ts | 19 ++++++++++++ .../components/progress-bar/progress-bar.ts | 4 +++ src/core/components/recaptcha/recaptcha.ts | 9 ++++++ .../send-message-form/send-message-form.ts | 21 ++++++++++++++ .../components/sheet-modal/sheet-modal.ts | 3 ++ .../components/show-password/show-password.ts | 4 ++- .../components/site-picker/site-picker.ts | 9 ++++++ src/core/components/sites-list/sites-list.ts | 13 +++++++++ src/core/components/spacer/spacer.ts | 1 + src/core/components/split-view/split-view.ts | 12 +++++++- .../swipe-navigation-tour.ts | 11 +++++++ .../components/swipe-slides/swipe-slides.ts | 17 ++++++++++- .../components/tabs-outlet/tabs-outlet.ts | 14 ++++++++- src/core/components/tabs/tab.ts | 3 ++ src/core/components/tabs/tabs.ts | 13 +++++++++ src/core/components/timer/timer.ts | 11 +++++++ .../components/user-avatar/user-avatar.ts | 9 ++++++ src/core/directives/aria-button.ts | 1 + src/core/directives/auto-focus.ts | 1 + src/core/directives/auto-rows.ts | 1 + src/core/directives/collapsible-footer.ts | 1 + src/core/directives/collapsible-header.ts | 1 + src/core/directives/collapsible-item.ts | 1 + src/core/directives/content.ts | 1 + src/core/directives/datetime.ts | 1 + src/core/directives/directives.module.ts | 2 +- src/core/directives/download-file.ts | 1 + src/core/directives/external-content.ts | 1 + src/core/directives/fa-icon.ts | 1 + src/core/directives/fab.ts | 1 + src/core/directives/format-text.ts | 1 + src/core/directives/link.ts | 1 + src/core/directives/long-press.ts | 1 + src/core/directives/on-resize.ts | 1 + src/core/directives/reading-mode.ts | 1 + src/core/directives/supress-events.ts | 1 + src/core/directives/swipe-navigation.ts | 1 + .../update-non-reactive-attributes.ts | 1 + src/core/directives/user-link.ts | 1 + src/core/directives/user-tour.ts | 1 + src/core/pipes/bytes-to-size.ts | 1 + src/core/pipes/create-links.ts | 1 + src/core/pipes/date-day-or-time.ts | 1 + src/core/pipes/duration.ts | 1 + src/core/pipes/format-date.ts | 1 + src/core/pipes/no-period.ts | 1 + src/core/pipes/no-tags.ts | 1 + src/core/pipes/pipes.module.ts | 2 +- src/core/pipes/seconds-to-hms.ts | 1 + src/core/pipes/time-ago.ts | 1 + src/core/services/overlays/prompts.ts | 2 +- 79 files changed, 445 insertions(+), 60 deletions(-) delete mode 100644 src/core/components/password-modal/password-modal.module.ts diff --git a/src/core/components/attachments/attachments.ts b/src/core/components/attachments/attachments.ts index 4a58d7e3b32..41faab64d71 100644 --- a/src/core/components/attachments/attachments.ts +++ b/src/core/components/attachments/attachments.ts @@ -28,6 +28,15 @@ import { toBoolean } from '@/core/transforms/boolean'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreToasts } from '@services/overlays/toasts'; import { CoreWSFile } from '@services/ws'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFileComponent } from '../file/file'; +import { CoreLocalFileComponent } from '../local-file/local-file'; +import { NgFor } from '@angular/common'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { CoreMarkRequiredComponent } from '../mark-required/mark-required'; +import { IonicModule } from '@ionic/angular'; +import { CoreLoadingComponent } from '../loading/loading'; /** * Component to render attachments, allow adding more and delete the current ones. @@ -46,6 +55,18 @@ import { CoreWSFile } from '@services/ws'; selector: 'core-attachments', templateUrl: 'core-attachments.html', styleUrl: 'attachments.scss', + standalone: true, + imports: [ + CoreLoadingComponent, + IonicModule, + CoreMarkRequiredComponent, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + NgFor, + CoreLocalFileComponent, + CoreFileComponent, + TranslateModule, + ], }) export class CoreAttachmentsComponent implements OnInit { diff --git a/src/core/components/bs-tooltip/bs-tooltip.ts b/src/core/components/bs-tooltip/bs-tooltip.ts index 3e7825ddb9b..351713acdf8 100644 --- a/src/core/components/bs-tooltip/bs-tooltip.ts +++ b/src/core/components/bs-tooltip/bs-tooltip.ts @@ -14,6 +14,7 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input } from '@angular/core'; +import { IonicModule } from '@ionic/angular'; /** * Component to display a Bootstrap Tooltip in a popover. @@ -21,6 +22,8 @@ import { Component, Input } from '@angular/core'; @Component({ selector: 'core-bs-tooltip', templateUrl: 'core-bs-tooltip.html', + standalone: true, + imports: [IonicModule], }) export class CoreBSTooltipComponent { diff --git a/src/core/components/button-with-spinner/button-with-spinner.ts b/src/core/components/button-with-spinner/button-with-spinner.ts index 8187042325a..df72df1306a 100644 --- a/src/core/components/button-with-spinner/button-with-spinner.ts +++ b/src/core/components/button-with-spinner/button-with-spinner.ts @@ -15,6 +15,8 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input } from '@angular/core'; import { CoreAnimations } from '@components/animations'; +import { TranslateModule } from '@ngx-translate/core'; +import { IonicModule } from '@ionic/angular'; /** * Component to show a button or a spinner when loading. @@ -29,6 +31,8 @@ import { CoreAnimations } from '@components/animations'; templateUrl: 'core-button-with-spinner.html', styleUrl: 'button-with-spinner.scss', animations: [CoreAnimations.SHOW_HIDE], + standalone: true, + imports: [IonicModule, TranslateModule], }) export class CoreButtonWithSpinnerComponent { diff --git a/src/core/components/chart/chart.ts b/src/core/components/chart/chart.ts index e71cd860019..ff658608c8b 100644 --- a/src/core/components/chart/chart.ts +++ b/src/core/components/chart/chart.ts @@ -18,6 +18,8 @@ import { Component, Input, OnDestroy, OnInit, ElementRef, OnChanges, ViewChild, import { CoreFilter } from '@features/filter/services/filter'; import { CoreFilterHelper } from '@features/filter/services/filter-helper'; import { ChartLegendLabelItem, ChartLegendOptions } from 'chart.js'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; /** * This component shows a chart using chart.js. @@ -31,6 +33,8 @@ import { ChartLegendLabelItem, ChartLegendOptions } from 'chart.js'; selector: 'core-chart', templateUrl: 'core-chart.html', styleUrl: 'chart.scss', + standalone: true, + imports: [IonicModule, CoreFaIconDirective], }) export class CoreChartComponent implements OnDestroy, OnInit, OnChanges { diff --git a/src/core/components/chrono/chrono.ts b/src/core/components/chrono/chrono.ts index 18823991dbc..493fd48dd9e 100644 --- a/src/core/components/chrono/chrono.ts +++ b/src/core/components/chrono/chrono.ts @@ -24,6 +24,7 @@ import { SimpleChange, ChangeDetectorRef, } from '@angular/core'; +import { CoreSecondsToHMSPipe } from '../../pipes/seconds-to-hms'; /** * This component shows a chronometer in format HH:MM:SS. @@ -40,6 +41,10 @@ import { @Component({ selector: 'core-chrono', templateUrl: 'core-chrono.html', + standalone: true, + imports: [ + CoreSecondsToHMSPipe, + ], }) export class CoreChronoComponent implements OnInit, OnChanges, OnDestroy { diff --git a/src/core/components/combobox/combobox.ts b/src/core/components/combobox/combobox.ts index c994b8ad979..5c20143a708 100644 --- a/src/core/components/combobox/combobox.ts +++ b/src/core/components/combobox/combobox.ts @@ -16,8 +16,12 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; import { Translate } from '@singletons'; import { ModalOptions } from '@ionic/core'; import { CoreModals } from '@services/overlays/modals'; -import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; +import { ControlValueAccessor, NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreFormatTextDirective } from '../../directives/format-text'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; /** * Component that show a combo select button (combobox). @@ -44,10 +48,18 @@ import { toBoolean } from '@/core/transforms/boolean'; providers: [ { provide: NG_VALUE_ACCESSOR, - multi:true, + multi: true, useExisting: CoreComboboxComponent, }, ], + standalone: true, + imports: [ + IonicModule, + FormsModule, + CoreFaIconDirective, + CoreUpdateNonReactiveAttributesDirective, + CoreFormatTextDirective, + ], }) export class CoreComboboxComponent implements ControlValueAccessor { diff --git a/src/core/components/components.module.ts b/src/core/components/components.module.ts index e2274d049c6..d53802f4f88 100644 --- a/src/core/components/components.module.ts +++ b/src/core/components/components.module.ts @@ -12,14 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CUSTOM_ELEMENTS_SCHEMA, NgModule, Type } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { IonicModule } from '@ionic/angular'; -import { TranslateModule } from '@ngx-translate/core'; -import { FormsModule } from '@angular/forms'; - -import { CoreDirectivesModule } from '@directives/directives.module'; -import { CorePipesModule } from '@pipes/pipes.module'; +import { NgModule, Type } from '@angular/core'; import { CoreAttachmentsComponent } from './attachments/attachments'; import { CoreBSTooltipComponent } from './bs-tooltip/bs-tooltip'; @@ -44,7 +37,6 @@ import { CoreNavigationBarComponent } from './navigation-bar/navigation-bar'; import { CoreProgressBarComponent } from './progress-bar/progress-bar'; import { CoreRecaptchaComponent } from './recaptcha/recaptcha'; import { CoreSendMessageFormComponent } from './send-message-form/send-message-form'; -import { CoreShowPasswordComponent } from './show-password/show-password'; import { CoreSitePickerComponent } from './site-picker/site-picker'; import { CoreSplitViewComponent } from './split-view/split-view'; import { CoreTabComponent } from './tabs/tab'; @@ -72,14 +64,17 @@ import { CoreSitesListComponent } from './sites-list/sites-list'; export async function getCoreStandaloneComponents(): Promise[]> { // eslint-disable-next-line deprecation/deprecation const { CoreStyleComponent } = await import('@components/style/style'); + // eslint-disable-next-line deprecation/deprecation + const { CoreShowPasswordComponent } = await import('@components/show-password/show-password'); return [ CoreStyleComponent, + CoreShowPasswordComponent, ]; } @NgModule({ - declarations: [ + imports: [ CoreAttachmentsComponent, CoreBSTooltipComponent, CoreButtonWithSpinnerComponent, @@ -107,7 +102,6 @@ export async function getCoreStandaloneComponents(): Promise[]> { CoreProgressBarComponent, CoreRecaptchaComponent, CoreSendMessageFormComponent, - CoreShowPasswordComponent, // eslint-disable-line deprecation/deprecation CoreSitePickerComponent, CoreSplitViewComponent, CoreSwipeSlidesComponent, @@ -123,14 +117,6 @@ export async function getCoreStandaloneComponents(): Promise[]> { CoreSheetModalComponent, CoreSitesListComponent, ], - imports: [ - CommonModule, - IonicModule, - FormsModule, - TranslateModule.forChild(), - CoreDirectivesModule, - CorePipesModule, - ], exports: [ CoreAttachmentsComponent, CoreBSTooltipComponent, @@ -159,7 +145,6 @@ export async function getCoreStandaloneComponents(): Promise[]> { CoreProgressBarComponent, CoreRecaptchaComponent, CoreSendMessageFormComponent, - CoreShowPasswordComponent, // eslint-disable-line deprecation/deprecation CoreSitePickerComponent, CoreSplitViewComponent, CoreSwipeSlidesComponent, @@ -175,6 +160,5 @@ export async function getCoreStandaloneComponents(): Promise[]> { CoreSheetModalComponent, CoreSitesListComponent, ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class CoreComponentsModule {} diff --git a/src/core/components/context-menu/context-menu-item.ts b/src/core/components/context-menu/context-menu-item.ts index 5d68f452273..3198766e2f0 100644 --- a/src/core/components/context-menu/context-menu-item.ts +++ b/src/core/components/context-menu/context-menu-item.ts @@ -33,6 +33,7 @@ import { CoreUtils } from '@singletons/utils'; @Component({ selector: 'core-context-menu-item', template: '', + standalone: true, }) export class CoreContextMenuItemComponent implements OnInit, OnDestroy, OnChanges { diff --git a/src/core/components/context-menu/context-menu.ts b/src/core/components/context-menu/context-menu.ts index 353e2e1ed03..1911075a92b 100644 --- a/src/core/components/context-menu/context-menu.ts +++ b/src/core/components/context-menu/context-menu.ts @@ -20,6 +20,9 @@ import { CoreUtils } from '@singletons/utils'; import { Translate } from '@singletons'; import { CoreContextMenuItemComponent } from './context-menu-item'; import { CoreDirectivesRegistry } from '@singletons/directives-registry'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; /** * This component adds a button (usually in the navigation bar) that displays a context menu popover. @@ -27,6 +30,12 @@ import { CoreDirectivesRegistry } from '@singletons/directives-registry'; @Component({ selector: 'core-context-menu', templateUrl: 'core-context-menu.html', + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + ], }) export class CoreContextMenuComponent implements OnInit, OnDestroy { diff --git a/src/core/components/course-image/course-image.ts b/src/core/components/course-image/course-image.ts index 9c2253a3646..d92253145e7 100644 --- a/src/core/components/course-image/course-image.ts +++ b/src/core/components/course-image/course-image.ts @@ -17,11 +17,20 @@ import { Component, ElementRef, HostBinding, input, effect } from '@angular/core import { CoreCourseListItem } from '@features/courses/services/courses'; import { CoreCoursesHelper } from '@features/courses/services/courses-helper'; import { CoreColors } from '@singletons/colors'; +import { CoreExternalContentDirective } from '../../directives/external-content'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; @Component({ selector: 'core-course-image', templateUrl: 'course-image.html', styleUrl: './course-image.scss', + standalone: true, + imports: [ + IonicModule, + CoreFaIconDirective, + CoreExternalContentDirective, + ], }) export class CoreCourseImageComponent { diff --git a/src/core/components/download-refresh/download-refresh.ts b/src/core/components/download-refresh/download-refresh.ts index 9093b127265..ccc1f46ba8e 100644 --- a/src/core/components/download-refresh/download-refresh.ts +++ b/src/core/components/download-refresh/download-refresh.ts @@ -16,6 +16,10 @@ import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core'; import { DownloadStatus } from '@/core/constants'; import { CoreAnimations } from '@components/animations'; import { toBoolean } from '@/core/transforms/boolean'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; /** * Component to show a download button with refresh option, the spinner and the status of it. @@ -29,6 +33,13 @@ import { toBoolean } from '@/core/transforms/boolean'; templateUrl: 'core-download-refresh.html', styleUrl: 'download-refresh.scss', animations: [CoreAnimations.SHOW_HIDE], + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + TranslateModule, + ], }) export class CoreDownloadRefreshComponent implements OnInit { diff --git a/src/core/components/dynamic-component/dynamic-component.ts b/src/core/components/dynamic-component/dynamic-component.ts index d888aac5340..93a6ec0e46e 100644 --- a/src/core/components/dynamic-component/dynamic-component.ts +++ b/src/core/components/dynamic-component/dynamic-component.ts @@ -64,6 +64,7 @@ import { CoreLogger } from '@singletons/logger'; selector: 'core-dynamic-component', templateUrl: 'core-dynamic-component.html', styles: [':host { display: contents; }'], + standalone: true, }) export class CoreDynamicComponent implements OnChanges, DoCheck, AsyncDirective { diff --git a/src/core/components/empty-box/empty-box.ts b/src/core/components/empty-box/empty-box.ts index 55006152f50..5215eb8ed03 100644 --- a/src/core/components/empty-box/empty-box.ts +++ b/src/core/components/empty-box/empty-box.ts @@ -14,6 +14,8 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, HostBinding, Input } from '@angular/core'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; /** * Component to show an empty box message. It will show an optional icon or image and a text centered on page. @@ -27,6 +29,8 @@ import { Component, HostBinding, Input } from '@angular/core'; selector: 'core-empty-box', templateUrl: 'core-empty-box.html', styleUrl: 'empty-box.scss', + standalone: true, + imports: [IonicModule, CoreFaIconDirective], }) export class CoreEmptyBoxComponent { diff --git a/src/core/components/file/file.ts b/src/core/components/file/file.ts index e2d6a78c743..dcbe399bc1f 100644 --- a/src/core/components/file/file.ts +++ b/src/core/components/file/file.ts @@ -30,6 +30,13 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreOpener, CoreOpenerOpenFileOptions, OpenFileAction } from '@singletons/opener'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreFormatDatePipe } from '../../pipes/format-date'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { CoreDownloadRefreshComponent } from '../download-refresh/download-refresh'; +import { CoreAriaButtonClickDirective } from '../../directives/aria-button'; +import { IonicModule } from '@ionic/angular'; /** * Component to handle a remote file. Shows the file name, icon (depending on mimetype) and a button @@ -39,6 +46,16 @@ import { Translate } from '@singletons'; selector: 'core-file', templateUrl: 'core-file.html', styleUrl: 'core-file.scss', + standalone: true, + imports: [ + IonicModule, + CoreAriaButtonClickDirective, + CoreDownloadRefreshComponent, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + TranslateModule, + CoreFormatDatePipe, + ], }) export class CoreFileComponent implements OnInit, OnDestroy { diff --git a/src/core/components/files/files.ts b/src/core/components/files/files.ts index f76da07d60a..f68a89bea96 100644 --- a/src/core/components/files/files.ts +++ b/src/core/components/files/files.ts @@ -17,6 +17,11 @@ import { Component, Input, OnInit, DoCheck, KeyValueDiffers } from '@angular/cor import { CoreFileEntry } from '@services/file-helper'; import { CoreMimetypeUtils } from '@services/utils/mimetype'; +import { IonicModule } from '@ionic/angular'; +import { CoreLocalFileComponent } from '../local-file/local-file'; +import { CoreFileComponent } from '../file/file'; +import { NgFor } from '@angular/common'; +import { CoreFormatTextDirective } from '../../directives/format-text'; /** * Component to render a file list. @@ -27,6 +32,14 @@ import { CoreMimetypeUtils } from '@services/utils/mimetype'; @Component({ selector: 'core-files', templateUrl: 'core-files.html', + standalone: true, + imports: [ + CoreFormatTextDirective, + NgFor, + CoreFileComponent, + CoreLocalFileComponent, + IonicModule, + ], }) export class CoreFilesComponent implements OnInit, DoCheck { diff --git a/src/core/components/group-selector/group-selector.ts b/src/core/components/group-selector/group-selector.ts index df9139a342c..673d6d3e442 100644 --- a/src/core/components/group-selector/group-selector.ts +++ b/src/core/components/group-selector/group-selector.ts @@ -20,6 +20,11 @@ import { ChangeDetectionStrategy, } from '@angular/core'; import { CoreGroupInfo } from '@services/groups'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFormatTextDirective } from '../../directives/format-text'; +import { FormsModule } from '@angular/forms'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; /** * Component to display a group selector. @@ -29,6 +34,14 @@ import { CoreGroupInfo } from '@services/groups'; templateUrl: 'group-selector.html', styleUrl: 'group-selector.scss', changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + IonicModule, + CoreFaIconDirective, + FormsModule, + CoreFormatTextDirective, + TranslateModule, + ], }) export class CoreGroupSelectorComponent { diff --git a/src/core/components/horizontal-scroll-controls/horizontal-scroll-controls.ts b/src/core/components/horizontal-scroll-controls/horizontal-scroll-controls.ts index 7c94cfda2b1..d82693edd5f 100644 --- a/src/core/components/horizontal-scroll-controls/horizontal-scroll-controls.ts +++ b/src/core/components/horizontal-scroll-controls/horizontal-scroll-controls.ts @@ -14,6 +14,10 @@ import { Component, Input } from '@angular/core'; import { CorePlatform } from '@services/platform'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; const enum ScrollPosition { START = 'start', @@ -26,6 +30,13 @@ const enum ScrollPosition { selector: 'core-horizontal-scroll-controls', templateUrl: 'core-horizontal-scroll-controls.html', styleUrl: './horizontal-scroll-controls.scss', + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + TranslateModule, + ], }) export class CoreHorizontalScrollControlsComponent { diff --git a/src/core/components/iframe/iframe.ts b/src/core/components/iframe/iframe.ts index 5836438b984..1729ee70ada 100644 --- a/src/core/components/iframe/iframe.ts +++ b/src/core/components/iframe/iframe.ts @@ -31,11 +31,28 @@ import { toBoolean } from '@/core/transforms/boolean'; import { CoreDom } from '@singletons/dom'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreLang, CoreLangFormat } from '@services/lang'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; +import { CoreNavBarButtonsComponent } from '../navbar-buttons/navbar-buttons'; +import { NgStyle } from '@angular/common'; +import { CoreLoadingComponent } from '../loading/loading'; @Component({ selector: 'core-iframe', templateUrl: 'core-iframe.html', styleUrl: 'iframe.scss', + standalone: true, + imports: [ + CoreLoadingComponent, + NgStyle, + CoreNavBarButtonsComponent, + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + TranslateModule, + ], }) export class CoreIframeComponent implements OnChanges, OnDestroy { diff --git a/src/core/components/infinite-loading/infinite-loading.ts b/src/core/components/infinite-loading/infinite-loading.ts index abe94d3f23c..0d69295b7c2 100644 --- a/src/core/components/infinite-loading/infinite-loading.ts +++ b/src/core/components/infinite-loading/infinite-loading.ts @@ -14,8 +14,10 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input, Output, EventEmitter, OnChanges, SimpleChange, ViewChild, ElementRef } from '@angular/core'; -import { IonInfiniteScroll } from '@ionic/angular'; +import { IonInfiniteScroll, IonicModule } from '@ionic/angular'; import { CoreWait } from '@singletons/wait'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; const THRESHOLD = .15; // % of the scroll element height that must be close to the edge to consider loading more items necessary. @@ -28,6 +30,12 @@ const THRESHOLD = .15; // % of the scroll element height that must be close to t @Component({ selector: 'core-infinite-loading', templateUrl: 'core-infinite-loading.html', + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + TranslateModule, + ], }) export class CoreInfiniteLoadingComponent implements OnChanges { diff --git a/src/core/components/input-errors/input-errors.ts b/src/core/components/input-errors/input-errors.ts index df2c2eb7fae..13c3eda41d4 100644 --- a/src/core/components/input-errors/input-errors.ts +++ b/src/core/components/input-errors/input-errors.ts @@ -14,6 +14,10 @@ import { Component, ElementRef, HostBinding, Input, OnChanges, OnInit, SimpleChange } from '@angular/core'; import { FormControl } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; +import { NgIf } from '@angular/common'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; /** * Component to show errors if an input isn't valid. @@ -37,6 +41,13 @@ import { FormControl } from '@angular/forms'; selector: 'core-input-errors', templateUrl: 'core-input-errors.html', styleUrl: 'input-errors.scss', + standalone: true, + imports: [ + IonicModule, + CoreFaIconDirective, + NgIf, + TranslateModule, + ], }) export class CoreInputErrorsComponent implements OnInit, OnChanges { diff --git a/src/core/components/loading/loading.ts b/src/core/components/loading/loading.ts index fc38bea48f0..14ee151b552 100644 --- a/src/core/components/loading/loading.ts +++ b/src/core/components/loading/loading.ts @@ -23,6 +23,7 @@ import { AsyncDirective } from '@classes/async-directive'; import { CorePlatform } from '@services/platform'; import { CoreWait } from '@singletons/wait'; import { toBoolean } from '@/core/transforms/boolean'; +import { IonicModule } from '@ionic/angular'; /** * Component to show a loading spinner and message while data is being loaded. @@ -49,6 +50,8 @@ import { toBoolean } from '@/core/transforms/boolean'; templateUrl: 'core-loading.html', styleUrl: 'loading.scss', animations: [CoreAnimations.SHOW_HIDE], + standalone: true, + imports: [IonicModule], }) export class CoreLoadingComponent implements OnInit, OnChanges, AfterViewInit, AsyncDirective, OnDestroy { diff --git a/src/core/components/local-file/local-file.ts b/src/core/components/local-file/local-file.ts index 30f8b88443c..42153c1b74c 100644 --- a/src/core/components/local-file/local-file.ts +++ b/src/core/components/local-file/local-file.ts @@ -31,6 +31,14 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { CoreFileUtils } from '@singletons/file-utils'; import { Translate } from '@singletons'; import { CoreAlerts } from '@services/overlays/alerts'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreSupressEventsDirective } from '../../directives/supress-events'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { CoreAutoFocusDirective } from '../../directives/auto-focus'; +import { CoreAriaButtonClickDirective } from '../../directives/aria-button'; +import { IonicModule } from '@ionic/angular'; +import { FormsModule } from '@angular/forms'; /** * Component to handle a local file. Only files inside the app folder can be managed. @@ -42,6 +50,17 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'core-local-file', templateUrl: 'core-local-file.html', styleUrl: 'core-local-file.scss', + standalone: true, + imports: [ + FormsModule, + IonicModule, + CoreAriaButtonClickDirective, + CoreAutoFocusDirective, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + CoreSupressEventsDirective, + TranslateModule, + ], }) export class CoreLocalFileComponent implements OnInit { diff --git a/src/core/components/mark-required/mark-required.ts b/src/core/components/mark-required/mark-required.ts index c271a5e41d6..587508f41bb 100644 --- a/src/core/components/mark-required/mark-required.ts +++ b/src/core/components/mark-required/mark-required.ts @@ -17,6 +17,8 @@ import { Component, Input, AfterViewInit, ElementRef } from '@angular/core'; import { CoreText } from '@singletons/text'; import { Translate } from '@singletons'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; /** * Directive to add a red asterisk for required input fields. @@ -32,6 +34,8 @@ import { Translate } from '@singletons'; selector: '[core-mark-required]', templateUrl: 'core-mark-required.html', styleUrl: 'mark-required.scss', + standalone: true, + imports: [IonicModule, CoreFaIconDirective], }) export class CoreMarkRequiredComponent implements AfterViewInit { diff --git a/src/core/components/message/message.ts b/src/core/components/message/message.ts index 613361250cb..c5da69647bc 100644 --- a/src/core/components/message/message.ts +++ b/src/core/components/message/message.ts @@ -19,6 +19,14 @@ import { CoreSites } from '@services/sites'; import { CoreText } from '@singletons/text'; import { CoreUserWithAvatar } from '@components/user-avatar/user-avatar'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreFormatDatePipe } from '../../pipes/format-date'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; +import { CoreFormatTextDirective } from '../../directives/format-text'; +import { CoreUserAvatarComponent } from '../user-avatar/user-avatar'; +import { CoreLongPressDirective } from '../../directives/long-press'; /** * Component to handle a message in a conversation. @@ -28,6 +36,17 @@ import { toBoolean } from '@/core/transforms/boolean'; templateUrl: 'message.html', styleUrl: 'message.scss', animations: [CoreAnimations.SLIDE_IN_OUT], + standalone: true, + imports: [ + CoreLongPressDirective, + CoreUserAvatarComponent, + CoreFormatTextDirective, + IonicModule, + CoreFaIconDirective, + CoreUpdateNonReactiveAttributesDirective, + TranslateModule, + CoreFormatDatePipe, + ], }) export class CoreMessageComponent implements OnInit { diff --git a/src/core/components/mod-icon/mod-icon.ts b/src/core/components/mod-icon/mod-icon.ts index d6cdd96a2f1..0c2a42b972f 100644 --- a/src/core/components/mod-icon/mod-icon.ts +++ b/src/core/components/mod-icon/mod-icon.ts @@ -30,6 +30,7 @@ import { CoreCourseModuleDelegate } from '@features/course/services/module-deleg import { CoreSites } from '@services/sites'; import { CoreText } from '@singletons/text'; import { CoreUrl } from '@singletons/url'; +import { CoreExternalContentDirective } from '../../directives/external-content'; const assetsPath = 'assets/img/'; const fallbackModName = 'external-tool'; @@ -48,6 +49,8 @@ const enum IconVersion { templateUrl: 'mod-icon.html', styleUrl: 'mod-icon.scss', changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [CoreExternalContentDirective], }) export class CoreModIconComponent implements OnInit, OnChanges { diff --git a/src/core/components/navbar-buttons/navbar-buttons.ts b/src/core/components/navbar-buttons/navbar-buttons.ts index 6fc5179f0c0..5fb5e75219c 100644 --- a/src/core/components/navbar-buttons/navbar-buttons.ts +++ b/src/core/components/navbar-buttons/navbar-buttons.ts @@ -54,6 +54,7 @@ const BUTTON_HIDDEN_CLASS = 'core-navbar-button-hidden'; selector: 'core-navbar-buttons', template: '', styleUrl: 'navbar-buttons.scss', + standalone: true, }) export class CoreNavBarButtonsComponent implements OnInit, OnDestroy { diff --git a/src/core/components/navigation-bar/navigation-bar.ts b/src/core/components/navigation-bar/navigation-bar.ts index 9f033e68924..eff2459058c 100644 --- a/src/core/components/navigation-bar/navigation-bar.ts +++ b/src/core/components/navigation-bar/navigation-bar.ts @@ -15,6 +15,10 @@ import { ContextLevel } from '@/core/constants'; import { Component, EventEmitter, Input, OnChanges, Output, SimpleChange } from '@angular/core'; import { Translate } from '@singletons'; +import { CoreProgressBarComponent } from '../progress-bar/progress-bar'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; /** * Component to show a "bar" with arrows to navigate forward/backward and an progressbar to see the status. @@ -29,6 +33,13 @@ import { Translate } from '@singletons'; selector: 'core-navigation-bar', templateUrl: 'core-navigation-bar.html', styleUrl: 'navigation-bar.scss', + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + CoreProgressBarComponent, + ], }) export class CoreNavigationBarComponent implements OnChanges { diff --git a/src/core/components/password-modal/password-modal.module.ts b/src/core/components/password-modal/password-modal.module.ts deleted file mode 100644 index 77018a384c5..00000000000 --- a/src/core/components/password-modal/password-modal.module.ts +++ /dev/null @@ -1,29 +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 { CorePasswordModalComponent } from './password-modal'; -import { CoreSharedModule } from '@/core/shared.module'; - -export { CorePasswordModalComponent }; - -@NgModule({ - declarations: [ - CorePasswordModalComponent, - ], - imports: [ - CoreSharedModule, - ], -}) -export class CorePasswordModalModule {} diff --git a/src/core/components/password-modal/password-modal.ts b/src/core/components/password-modal/password-modal.ts index 9c7a026e7ad..ff0b5631529 100644 --- a/src/core/components/password-modal/password-modal.ts +++ b/src/core/components/password-modal/password-modal.ts @@ -18,6 +18,14 @@ import { CoreSites } from '@services/sites'; import { CoreForms } from '@singletons/form'; import { ModalController } from '@singletons'; import { CoreLoadings } from '@services/overlays/loadings'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFormatTextDirective } from '../../directives/format-text'; +import { CoreAutoFocusDirective } from '../../directives/auto-focus'; +import { FormsModule } from '@angular/forms'; +import { CoreContentDirective } from '../../directives/content'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; /** * Modal that asks the password. @@ -27,6 +35,17 @@ import { CoreLoadings } from '@services/overlays/loadings'; @Component({ selector: 'core-password-modal', templateUrl: 'password-modal.html', + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + CoreContentDirective, + FormsModule, + CoreAutoFocusDirective, + CoreFormatTextDirective, + TranslateModule, + ], }) export class CorePasswordModalComponent { diff --git a/src/core/components/progress-bar/progress-bar.ts b/src/core/components/progress-bar/progress-bar.ts index 970aa5885d0..cd328300bec 100644 --- a/src/core/components/progress-bar/progress-bar.ts +++ b/src/core/components/progress-bar/progress-bar.ts @@ -15,6 +15,8 @@ import { Component, Input, OnChanges, SimpleChange, ChangeDetectionStrategy, ElementRef } from '@angular/core'; import { SafeStyle } from '@angular/platform-browser'; import { DomSanitizer, Translate } from '@singletons'; +import { TranslateModule } from '@ngx-translate/core'; +import { IonicModule } from '@ionic/angular'; /** * Component to show a progress bar and its value. @@ -27,6 +29,8 @@ import { DomSanitizer, Translate } from '@singletons'; templateUrl: 'core-progress-bar.html', styleUrl: 'progress-bar.scss', changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [IonicModule, TranslateModule], }) export class CoreProgressBarComponent implements OnChanges { diff --git a/src/core/components/recaptcha/recaptcha.ts b/src/core/components/recaptcha/recaptcha.ts index 23428bb237e..56bb8395fb2 100644 --- a/src/core/components/recaptcha/recaptcha.ts +++ b/src/core/components/recaptcha/recaptcha.ts @@ -19,6 +19,9 @@ import { CoreLang, CoreLangFormat } from '@services/lang'; import { CoreSites } from '@services/sites'; import { CoreOpener } from '@singletons/opener'; import { CorePath } from '@singletons/path'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; /** * Component that allows answering a recaptcha. @@ -26,6 +29,12 @@ import { CorePath } from '@singletons/path'; @Component({ selector: 'core-recaptcha', templateUrl: 'core-recaptcha.html', + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + TranslateModule, + ], }) export class CoreRecaptchaComponent implements OnInit { diff --git a/src/core/components/send-message-form/send-message-form.ts b/src/core/components/send-message-form/send-message-form.ts index dd1cbde301a..ef5f11117cf 100644 --- a/src/core/components/send-message-form/send-message-form.ts +++ b/src/core/components/send-message-form/send-message-form.ts @@ -21,6 +21,15 @@ import { CoreConstants } from '@/core/constants'; import { CoreForms } from '@singletons/form'; import { CorePlatform } from '@services/platform'; import { toBoolean } from '@/core/transforms/boolean'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreSupressEventsDirective } from '../../directives/supress-events'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; +import { CoreOnResizeDirective } from '../../directives/on-resize'; +import { CoreAutoFocusDirective } from '../../directives/auto-focus'; +import { CoreAutoRowsDirective } from '../../directives/auto-rows'; +import { FormsModule } from '@angular/forms'; /** * Component to display a "send message form". @@ -36,6 +45,18 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-send-message-form', templateUrl: 'core-send-message-form.html', styleUrl: 'send-message-form.scss', + standalone: true, + imports: [ + FormsModule, + CoreAutoRowsDirective, + CoreAutoFocusDirective, + CoreOnResizeDirective, + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreSupressEventsDirective, + CoreFaIconDirective, + TranslateModule, + ], }) export class CoreSendMessageFormComponent { diff --git a/src/core/components/sheet-modal/sheet-modal.ts b/src/core/components/sheet-modal/sheet-modal.ts index 69db82b920f..5d8a487fe76 100644 --- a/src/core/components/sheet-modal/sheet-modal.ts +++ b/src/core/components/sheet-modal/sheet-modal.ts @@ -20,11 +20,14 @@ import { CoreModals } from '@services/overlays/modals'; import { CoreWait } from '@singletons/wait'; import { AngularFrameworkDelegate } from '@singletons'; import { CoreDirectivesRegistry } from '@singletons/directives-registry'; +import { IonicModule } from '@ionic/angular'; @Component({ selector: 'core-sheet-modal', templateUrl: 'sheet-modal.html', styleUrl: 'sheet-modal.scss', + standalone: true, + imports: [IonicModule], }) export class CoreSheetModalComponent implements AfterViewInit { diff --git a/src/core/components/show-password/show-password.ts b/src/core/components/show-password/show-password.ts index b36e0bf048f..1a850902458 100644 --- a/src/core/components/show-password/show-password.ts +++ b/src/core/components/show-password/show-password.ts @@ -13,7 +13,7 @@ // limitations under the License. import { Component, AfterViewInit, Input, ContentChild, ViewEncapsulation } from '@angular/core'; -import { IonInput } from '@ionic/angular'; +import { IonInput, IonicModule } from '@ionic/angular'; import { convertTextToHTMLElement } from '@/core/utils/create-html-element'; import { CorePromiseUtils } from '@singletons/promise-utils'; @@ -48,6 +48,8 @@ import { CoreLogger } from '@singletons/logger'; templateUrl: 'core-show-password.html', styles: 'core-show-password { display: contents; }', encapsulation: ViewEncapsulation.None, + standalone: true, + imports: [IonicModule], }) export class CoreShowPasswordComponent implements AfterViewInit { diff --git a/src/core/components/site-picker/site-picker.ts b/src/core/components/site-picker/site-picker.ts index 7e644b2fabe..92cb15031b8 100644 --- a/src/core/components/site-picker/site-picker.ts +++ b/src/core/components/site-picker/site-picker.ts @@ -18,6 +18,9 @@ import { CoreFilter } from '@features/filter/services/filter'; import { CoreSiteBasicInfo, CoreSites } from '@services/sites'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { Translate } from '@singletons'; +import { TranslateModule } from '@ngx-translate/core'; +import { FormsModule } from '@angular/forms'; +import { IonicModule } from '@ionic/angular'; /** * Component to display a site selector. It will display a select with the list of sites. If the selected site changes, @@ -29,6 +32,12 @@ import { Translate } from '@singletons'; @Component({ selector: 'core-site-picker', templateUrl: 'core-site-picker.html', + standalone: true, + imports: [ + IonicModule, + FormsModule, + TranslateModule, + ], }) export class CoreSitePickerComponent implements OnInit { diff --git a/src/core/components/sites-list/sites-list.ts b/src/core/components/sites-list/sites-list.ts index 20c89e7986f..5ea533a3564 100644 --- a/src/core/components/sites-list/sites-list.ts +++ b/src/core/components/sites-list/sites-list.ts @@ -18,6 +18,11 @@ import { CoreSiteBasicInfo } from '@services/sites'; import { CoreAccountsList } from '@features/login/services/login-helper'; import { CoreSitesFactory } from '@services/sites-factory'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreUserAvatarComponent } from '../user-avatar/user-avatar'; +import { CoreLinkDirective } from '../../directives/link'; +import { CoreFormatTextDirective } from '../../directives/format-text'; +import { NgTemplateOutlet } from '@angular/common'; +import { IonicModule } from '@ionic/angular'; /** * Component to display a list of sites (accounts). @@ -40,6 +45,14 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-sites-list', templateUrl: 'sites-list.html', styleUrl: 'sites-list.scss', + standalone: true, + imports: [ + IonicModule, + NgTemplateOutlet, + CoreFormatTextDirective, + CoreLinkDirective, + CoreUserAvatarComponent, + ], }) export class CoreSitesListComponent { diff --git a/src/core/components/spacer/spacer.ts b/src/core/components/spacer/spacer.ts index 0bedc96bf01..3e60e28adfc 100644 --- a/src/core/components/spacer/spacer.ts +++ b/src/core/components/spacer/spacer.ts @@ -25,6 +25,7 @@ import { Component } from '@angular/core'; template: '', styles: [':host { display: block; margin: var(--spacer-vertical) var(--spacer-horizontal); \ border-bottom: 1px solid var(--spacer-color);}'], + standalone: true, }) export class CoreSpacerComponent { diff --git a/src/core/components/split-view/split-view.ts b/src/core/components/split-view/split-view.ts index 4bf6534cdfd..533c74fe2b6 100644 --- a/src/core/components/split-view/split-view.ts +++ b/src/core/components/split-view/split-view.ts @@ -14,9 +14,12 @@ import { AfterViewInit, Component, ElementRef, Input, OnDestroy, ViewChild } from '@angular/core'; import { ActivatedRouteSnapshot } from '@angular/router'; -import { IonContent, IonRouterOutlet } from '@ionic/angular'; +import { IonContent, IonRouterOutlet, IonicModule } from '@ionic/angular'; import { CoreScreen } from '@services/screen'; import { BehaviorSubject, Observable, Subscription } from 'rxjs'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreEmptyBoxComponent } from '../empty-box/empty-box'; +import { CoreContentDirective } from '../../directives/content'; export enum CoreSplitViewMode { MENU_ONLY = 'menu-only', // Hides content. @@ -30,6 +33,13 @@ const disabledScrollClass = 'disable-scroll-y'; selector: 'core-split-view', templateUrl: 'split-view.html', styleUrl: 'split-view.scss', + standalone: true, + imports: [ + IonicModule, + CoreContentDirective, + CoreEmptyBoxComponent, + TranslateModule, + ], }) export class CoreSplitViewComponent implements AfterViewInit, OnDestroy { diff --git a/src/core/components/swipe-navigation-tour/swipe-navigation-tour.ts b/src/core/components/swipe-navigation-tour/swipe-navigation-tour.ts index 5919c4ebc74..e66d56ead0c 100644 --- a/src/core/components/swipe-navigation-tour/swipe-navigation-tour.ts +++ b/src/core/components/swipe-navigation-tour/swipe-navigation-tour.ts @@ -14,6 +14,10 @@ import { Component } from '@angular/core'; import { CoreUserTours } from '@features/usertours/services/user-tours'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { IonicModule } from '@ionic/angular'; /** * Component showing the User Tour for the Swipe Navigation feature. @@ -22,6 +26,13 @@ import { CoreUserTours } from '@features/usertours/services/user-tours'; selector: 'core-swipe-navigation-tour', templateUrl: 'core-swipe-navigation-tour.html', styleUrl: 'swipe-navigation-tour.scss', + standalone: true, + imports: [ + IonicModule, + CoreFaIconDirective, + CoreUpdateNonReactiveAttributesDirective, + TranslateModule, + ], }) export class CoreSwipeNavigationTourComponent { diff --git a/src/core/components/swipe-slides/swipe-slides.ts b/src/core/components/swipe-slides/swipe-slides.ts index 4830ee1e835..d7e8bc5b56c 100644 --- a/src/core/components/swipe-slides/swipe-slides.ts +++ b/src/core/components/swipe-slides/swipe-slides.ts @@ -13,7 +13,18 @@ // limitations under the License. import { - Component, ContentChild, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChange, TemplateRef, ViewChild, + Component, + ContentChild, + CUSTOM_ELEMENTS_SCHEMA, + ElementRef, + EventEmitter, + Input, + OnChanges, + OnDestroy, + Output, + SimpleChange, + TemplateRef, + ViewChild, } from '@angular/core'; import { AsyncDirective } from '@classes/async-directive'; import { CoreSwipeSlidesItemsManager } from '@classes/items-management/swipe-slides-items-manager'; @@ -28,6 +39,7 @@ import { CoreMath } from '@singletons/math'; import { CoreSwiper } from '@singletons/swiper'; import { Swiper } from 'swiper'; import { SwiperOptions } from 'swiper/types'; +import { NgTemplateOutlet } from '@angular/common'; /** * Helper component to display swipable slides. */ @@ -35,6 +47,9 @@ import { SwiperOptions } from 'swiper/types'; selector: 'core-swipe-slides', templateUrl: 'swipe-slides.html', styleUrl: 'swipe-slides.scss', + standalone: true, + imports: [NgTemplateOutlet], + schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class CoreSwipeSlidesComponent implements OnChanges, OnDestroy, AsyncDirective { diff --git a/src/core/components/tabs-outlet/tabs-outlet.ts b/src/core/components/tabs-outlet/tabs-outlet.ts index 110d4dfa09f..00c222a4c82 100644 --- a/src/core/components/tabs-outlet/tabs-outlet.ts +++ b/src/core/components/tabs-outlet/tabs-outlet.ts @@ -20,8 +20,9 @@ import { AfterViewInit, ViewChild, SimpleChange, + CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core'; -import { IonRouterOutlet, IonTabs, ViewDidEnter, ViewDidLeave } from '@ionic/angular'; +import { IonRouterOutlet, IonTabs, ViewDidEnter, ViewDidLeave, IonicModule } from '@ionic/angular'; import { CoreUtils } from '@singletons/utils'; import { Params } from '@angular/router'; @@ -31,6 +32,9 @@ import { CoreNavigator } from '@services/navigator'; import { CoreTabBase, CoreTabsBaseComponent } from '@classes/tabs'; import { CoreDirectivesRegistry } from '@singletons/directives-registry'; import { CorePath } from '@singletons/path'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; /** * This component displays some top scrollable tabs that will autohide on vertical scroll. @@ -50,6 +54,14 @@ import { CorePath } from '@singletons/path'; selector: 'core-tabs-outlet', templateUrl: 'core-tabs-outlet.html', styleUrl: '../tabs/tabs.scss', + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + TranslateModule, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class CoreTabsOutletComponent extends CoreTabsBaseComponent implements AfterViewInit, OnChanges, OnDestroy { diff --git a/src/core/components/tabs/tab.ts b/src/core/components/tabs/tab.ts index 91b81406076..bfc674a96d8 100644 --- a/src/core/components/tabs/tab.ts +++ b/src/core/components/tabs/tab.ts @@ -19,6 +19,7 @@ import { CoreUtils } from '@singletons/utils'; import { CoreDirectivesRegistry } from '@singletons/directives-registry'; import { CoreNavBarButtonsComponent } from '../navbar-buttons/navbar-buttons'; import { CoreTabsComponent } from './tabs'; +import { NgTemplateOutlet } from '@angular/common'; /** * A tab to use inside core-tabs. The content of this tab will be displayed when the tab is selected. @@ -42,6 +43,8 @@ import { CoreTabsComponent } from './tabs'; @Component({ selector: 'core-tab', template: '@if (loaded && template) {}', + standalone: true, + imports: [NgTemplateOutlet], }) export class CoreTabComponent implements OnInit, OnDestroy, CoreTabBase { diff --git a/src/core/components/tabs/tabs.ts b/src/core/components/tabs/tabs.ts index 31f6343a201..0a3aaac008a 100644 --- a/src/core/components/tabs/tabs.ts +++ b/src/core/components/tabs/tabs.ts @@ -18,11 +18,16 @@ import { AfterViewInit, ViewChild, ElementRef, + CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core'; import { CoreTabsBaseComponent } from '@classes/tabs'; import { CoreTabComponent } from './tab'; import { toBoolean } from '@/core/transforms/boolean'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreFaIconDirective } from '../../directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { IonicModule } from '@ionic/angular'; /** * This component displays some top scrollable tabs that will autohide on vertical scroll. @@ -42,6 +47,14 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-tabs', templateUrl: 'core-tabs.html', styleUrl: 'tabs.scss', + standalone: true, + imports: [ + IonicModule, + CoreUpdateNonReactiveAttributesDirective, + CoreFaIconDirective, + TranslateModule, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class CoreTabsComponent extends CoreTabsBaseComponent implements AfterViewInit { diff --git a/src/core/components/timer/timer.ts b/src/core/components/timer/timer.ts index 5f1b660ca06..50833055e2a 100644 --- a/src/core/components/timer/timer.ts +++ b/src/core/components/timer/timer.ts @@ -17,6 +17,10 @@ import { Component, Input, Output, EventEmitter, OnInit, OnDestroy, ElementRef } import { CoreUser } from '@features/user/services/user'; import { CoreTimeUtils } from '@services/utils/time'; +import { CoreSecondsToHMSPipe } from '../../pipes/seconds-to-hms'; +import { TranslateModule } from '@ngx-translate/core'; +import { NgTemplateOutlet } from '@angular/common'; +import { IonicModule } from '@ionic/angular'; /** * This directive shows a timer in format HH:MM:SS. When the countdown reaches 0, a function is called. @@ -28,6 +32,13 @@ import { CoreTimeUtils } from '@services/utils/time'; selector: 'core-timer', templateUrl: 'core-timer.html', styleUrl: 'timer.scss', + standalone: true, + imports: [ + IonicModule, + NgTemplateOutlet, + TranslateModule, + CoreSecondsToHMSPipe, + ], }) export class CoreTimerComponent implements OnInit, OnDestroy { diff --git a/src/core/components/user-avatar/user-avatar.ts b/src/core/components/user-avatar/user-avatar.ts index 7cb3b866ecd..b39d2a8113e 100644 --- a/src/core/components/user-avatar/user-avatar.ts +++ b/src/core/components/user-avatar/user-avatar.ts @@ -24,6 +24,9 @@ import { CoreUserHelper } from '@features/user/services/user-helper'; import { CoreUrl } from '@singletons/url'; import { CoreSiteInfo } from '@classes/sites/unauthenticated-site'; import { toBoolean } from '@/core/transforms/boolean'; +import { TranslateModule } from '@ngx-translate/core'; +import { CoreAriaButtonClickDirective } from '../../directives/aria-button'; +import { CoreExternalContentDirective } from '../../directives/external-content'; /** * Component to display a "user avatar". @@ -34,6 +37,12 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-user-avatar', templateUrl: 'core-user-avatar.html', styleUrl: 'user-avatar.scss', + standalone: true, + imports: [ + CoreExternalContentDirective, + CoreAriaButtonClickDirective, + TranslateModule, + ], }) export class CoreUserAvatarComponent implements OnInit, OnChanges, OnDestroy { diff --git a/src/core/directives/aria-button.ts b/src/core/directives/aria-button.ts index c0edf0bee54..ff6d8bed147 100644 --- a/src/core/directives/aria-button.ts +++ b/src/core/directives/aria-button.ts @@ -21,6 +21,7 @@ import { toBoolean } from '../transforms/boolean'; */ @Directive({ selector: '[ariaButtonClick]', + standalone: true, }) export class CoreAriaButtonClickDirective implements OnInit, OnChanges { diff --git a/src/core/directives/auto-focus.ts b/src/core/directives/auto-focus.ts index 7c35e9cbaa0..f75fbe11f3a 100644 --- a/src/core/directives/auto-focus.ts +++ b/src/core/directives/auto-focus.ts @@ -29,6 +29,7 @@ import { toBoolean } from '../transforms/boolean'; */ @Directive({ selector: '[core-auto-focus]', + standalone: true, }) export class CoreAutoFocusDirective implements AfterViewInit { diff --git a/src/core/directives/auto-rows.ts b/src/core/directives/auto-rows.ts index fc8b0a0d061..73175170fb0 100644 --- a/src/core/directives/auto-rows.ts +++ b/src/core/directives/auto-rows.ts @@ -23,6 +23,7 @@ import { Directive, ElementRef, Output, EventEmitter, AfterViewInit, Input, OnCh */ @Directive({ selector: 'textarea[core-auto-rows], ion-textarea[core-auto-rows]', + standalone: true, }) export class CoreAutoRowsDirective implements AfterViewInit, OnChanges { diff --git a/src/core/directives/collapsible-footer.ts b/src/core/directives/collapsible-footer.ts index bbc01b2c13a..6ca7d6a723a 100644 --- a/src/core/directives/collapsible-footer.ts +++ b/src/core/directives/collapsible-footer.ts @@ -35,6 +35,7 @@ import { toBoolean } from '../transforms/boolean'; */ @Directive({ selector: '[collapsible-footer]', + standalone: true, }) export class CoreCollapsibleFooterDirective implements OnInit, OnDestroy { diff --git a/src/core/directives/collapsible-header.ts b/src/core/directives/collapsible-header.ts index d671d98a85d..f62381b3dd0 100644 --- a/src/core/directives/collapsible-header.ts +++ b/src/core/directives/collapsible-header.ts @@ -72,6 +72,7 @@ export const COLLAPSIBLE_HEADER_UPDATED = 'collapsible_header_updated'; */ @Directive({ selector: 'ion-header[collapsible]', + standalone: true, }) export class CoreCollapsibleHeaderDirective implements OnInit, OnChanges, OnDestroy { diff --git a/src/core/directives/collapsible-item.ts b/src/core/directives/collapsible-item.ts index 642169c3b80..0eb91cdec3c 100644 --- a/src/core/directives/collapsible-item.ts +++ b/src/core/directives/collapsible-item.ts @@ -37,6 +37,7 @@ const minMaxHeight = 56; */ @Directive({ selector: '[collapsible-item]', + standalone: true, }) export class CoreCollapsibleItemDirective implements OnInit, OnDestroy { diff --git a/src/core/directives/content.ts b/src/core/directives/content.ts index e214062bde2..a86d687fbf5 100644 --- a/src/core/directives/content.ts +++ b/src/core/directives/content.ts @@ -23,6 +23,7 @@ import { Directive, ElementRef, OnInit } from '@angular/core'; */ @Directive({ selector: 'ion-content', + standalone: true, }) export class CoreContentDirective implements OnInit { diff --git a/src/core/directives/datetime.ts b/src/core/directives/datetime.ts index f2d1ca1f379..c5b6b54c0af 100644 --- a/src/core/directives/datetime.ts +++ b/src/core/directives/datetime.ts @@ -22,6 +22,7 @@ import { IonDatetime } from '@ionic/angular'; */ @Directive({ selector: 'ion-datetime', + standalone: true, }) export class CoreIonDatetimeDirective implements OnInit { diff --git a/src/core/directives/directives.module.ts b/src/core/directives/directives.module.ts index f26fc2ab2dc..e6d59a75b2f 100644 --- a/src/core/directives/directives.module.ts +++ b/src/core/directives/directives.module.ts @@ -38,7 +38,7 @@ import { CoreIonDatetimeDirective } from './datetime'; import { CoreReadingModeDirective } from './reading-mode'; @NgModule({ - declarations: [ + imports: [ CoreAutoFocusDirective, CoreAutoRowsDirective, CoreExternalContentDirective, diff --git a/src/core/directives/download-file.ts b/src/core/directives/download-file.ts index 1a50c2fd33b..64ba18177d2 100644 --- a/src/core/directives/download-file.ts +++ b/src/core/directives/download-file.ts @@ -25,6 +25,7 @@ import { Translate } from '@singletons'; */ @Directive({ selector: '[core-download-file]', + standalone: true, }) export class CoreDownloadFileDirective implements OnInit { diff --git a/src/core/directives/external-content.ts b/src/core/directives/external-content.ts index 4ed754f7248..d872992e049 100644 --- a/src/core/directives/external-content.ts +++ b/src/core/directives/external-content.ts @@ -57,6 +57,7 @@ import { CoreWS } from '@services/ws'; */ @Directive({ selector: '[core-external-content]', + standalone: true, }) export class CoreExternalContentDirective implements AfterViewInit, OnChanges, OnDestroy, AsyncDirective { diff --git a/src/core/directives/fa-icon.ts b/src/core/directives/fa-icon.ts index 6ac5d70d427..a058efc9eb0 100644 --- a/src/core/directives/fa-icon.ts +++ b/src/core/directives/fa-icon.ts @@ -27,6 +27,7 @@ import { CoreConstants } from '../constants'; */ @Directive({ selector: 'ion-icon[name]', + standalone: true, }) export class CoreFaIconDirective implements AfterViewInit, OnChanges { diff --git a/src/core/directives/fab.ts b/src/core/directives/fab.ts index d8745f26ab2..a8152f803ee 100644 --- a/src/core/directives/fab.ts +++ b/src/core/directives/fab.ts @@ -25,6 +25,7 @@ import { CoreDom } from '@singletons/dom'; */ @Directive({ selector: 'ion-fab[core-fab]', + standalone: true, }) export class CoreFabDirective implements OnInit, OnDestroy { diff --git a/src/core/directives/format-text.ts b/src/core/directives/format-text.ts index 63857fe912d..44c043e5f92 100644 --- a/src/core/directives/format-text.ts +++ b/src/core/directives/format-text.ts @@ -73,6 +73,7 @@ import { CoreLang, CoreLangFormat } from '@services/lang'; */ @Directive({ selector: 'core-format-text', + standalone: true, }) export class CoreFormatTextDirective implements OnChanges, OnDestroy, AsyncDirective { diff --git a/src/core/directives/link.ts b/src/core/directives/link.ts index 862bac6316d..4cc801dd2b1 100644 --- a/src/core/directives/link.ts +++ b/src/core/directives/link.ts @@ -34,6 +34,7 @@ import { CoreAlerts } from '@services/overlays/alerts'; */ @Directive({ selector: '[core-link]', + standalone: true, }) export class CoreLinkDirective implements OnInit { diff --git a/src/core/directives/long-press.ts b/src/core/directives/long-press.ts index 22dd8058fba..9f53112c08c 100644 --- a/src/core/directives/long-press.ts +++ b/src/core/directives/long-press.ts @@ -23,6 +23,7 @@ import { GestureController } from '@singletons'; */ @Directive({ selector: '[longPress]', + standalone: true, }) export class CoreLongPressDirective implements OnInit, OnDestroy { diff --git a/src/core/directives/on-resize.ts b/src/core/directives/on-resize.ts index e12adcbf3b5..ee8c88d6688 100644 --- a/src/core/directives/on-resize.ts +++ b/src/core/directives/on-resize.ts @@ -20,6 +20,7 @@ import { CoreUtils } from '@singletons/utils'; */ @Directive({ selector: '[onResize]', + standalone: true, }) export class CoreOnResizeDirective implements OnInit, OnDestroy { diff --git a/src/core/directives/reading-mode.ts b/src/core/directives/reading-mode.ts index a6f066f046a..7e7c2269e97 100644 --- a/src/core/directives/reading-mode.ts +++ b/src/core/directives/reading-mode.ts @@ -38,6 +38,7 @@ import { CoreLogger } from '@singletons/logger'; */ @Directive({ selector: '[core-reading-mode]', + standalone: true, }) export class CoreReadingModeDirective implements AfterViewInit, OnDestroy { diff --git a/src/core/directives/supress-events.ts b/src/core/directives/supress-events.ts index ff2b1ff8dcd..fb2434e8a4b 100644 --- a/src/core/directives/supress-events.ts +++ b/src/core/directives/supress-events.ts @@ -38,6 +38,7 @@ import { CoreLogger } from '@singletons/logger'; */ @Directive({ selector: '[core-suppress-events]', + standalone: true, }) export class CoreSupressEventsDirective implements OnInit { diff --git a/src/core/directives/swipe-navigation.ts b/src/core/directives/swipe-navigation.ts index 927446d4006..33dd0e2dfa9 100644 --- a/src/core/directives/swipe-navigation.ts +++ b/src/core/directives/swipe-navigation.ts @@ -33,6 +33,7 @@ const SWIPE_FRICTION = 0.6; */ @Directive({ selector: 'ion-content[core-swipe-navigation]', + standalone: true, }) export class CoreSwipeNavigationDirective implements AfterViewInit, OnDestroy { diff --git a/src/core/directives/update-non-reactive-attributes.ts b/src/core/directives/update-non-reactive-attributes.ts index b8ce529d736..b2463152cfa 100644 --- a/src/core/directives/update-non-reactive-attributes.ts +++ b/src/core/directives/update-non-reactive-attributes.ts @@ -24,6 +24,7 @@ import { Directive, ElementRef, OnDestroy, OnInit } from '@angular/core'; */ @Directive({ selector: 'ion-button', + standalone: true, }) export class CoreUpdateNonReactiveAttributesDirective implements OnInit, OnDestroy { diff --git a/src/core/directives/user-link.ts b/src/core/directives/user-link.ts index 0406dc27c00..33d20eb98d2 100644 --- a/src/core/directives/user-link.ts +++ b/src/core/directives/user-link.ts @@ -20,6 +20,7 @@ import { CoreNavigator } from '@services/navigator'; */ @Directive({ selector: '[core-user-link]', + standalone: true, }) export class CoreUserLinkDirective implements OnInit { diff --git a/src/core/directives/user-tour.ts b/src/core/directives/user-tour.ts index cb40cb38bda..f933686881e 100644 --- a/src/core/directives/user-tour.ts +++ b/src/core/directives/user-tour.ts @@ -22,6 +22,7 @@ import { CoreDom } from '@singletons/dom'; */ @Directive({ selector: '[userTour]', + standalone: true, }) export class CoreUserTourDirective implements OnInit, OnDestroy { diff --git a/src/core/pipes/bytes-to-size.ts b/src/core/pipes/bytes-to-size.ts index 2ef3e2bf58e..d17541f22e2 100644 --- a/src/core/pipes/bytes-to-size.ts +++ b/src/core/pipes/bytes-to-size.ts @@ -22,6 +22,7 @@ import { CoreText } from '@singletons/text'; */ @Pipe({ name: 'coreBytesToSize', + standalone: true, }) export class CoreBytesToSizePipe implements PipeTransform { diff --git a/src/core/pipes/create-links.ts b/src/core/pipes/create-links.ts index 16be0529390..e40db69ecf0 100644 --- a/src/core/pipes/create-links.ts +++ b/src/core/pipes/create-links.ts @@ -19,6 +19,7 @@ import { Pipe, PipeTransform } from '@angular/core'; */ @Pipe({ name: 'coreCreateLinks', + standalone: true, }) export class CoreCreateLinksPipe implements PipeTransform { diff --git a/src/core/pipes/date-day-or-time.ts b/src/core/pipes/date-day-or-time.ts index a313c017572..7e1d3f7e6af 100644 --- a/src/core/pipes/date-day-or-time.ts +++ b/src/core/pipes/date-day-or-time.ts @@ -34,6 +34,7 @@ import { CoreLogger } from '@singletons/logger'; */ @Pipe({ name: 'coreDateDayOrTime', + standalone: true, }) export class CoreDateDayOrTimePipe implements PipeTransform { diff --git a/src/core/pipes/duration.ts b/src/core/pipes/duration.ts index 8f314f90580..d10aade4c57 100644 --- a/src/core/pipes/duration.ts +++ b/src/core/pipes/duration.ts @@ -21,6 +21,7 @@ import { CoreTime } from '@singletons/time'; */ @Pipe({ name: 'coreDuration', + standalone: true, }) export class CoreDurationPipe implements PipeTransform { diff --git a/src/core/pipes/format-date.ts b/src/core/pipes/format-date.ts index 3b43442a38f..64c95bd05f4 100644 --- a/src/core/pipes/format-date.ts +++ b/src/core/pipes/format-date.ts @@ -21,6 +21,7 @@ import { CoreLogger } from '@singletons/logger'; */ @Pipe({ name: 'coreFormatDate', + standalone: true, }) export class CoreFormatDatePipe implements PipeTransform { diff --git a/src/core/pipes/no-period.ts b/src/core/pipes/no-period.ts index e6c0973715a..b16f2da4c55 100644 --- a/src/core/pipes/no-period.ts +++ b/src/core/pipes/no-period.ts @@ -19,6 +19,7 @@ import { Pipe, PipeTransform } from '@angular/core'; */ @Pipe({ name: 'coreNoPeriod', + standalone: true, }) export class CoreNoPeriodPipe implements PipeTransform { diff --git a/src/core/pipes/no-tags.ts b/src/core/pipes/no-tags.ts index 67df130e4db..ca2f30d14b2 100644 --- a/src/core/pipes/no-tags.ts +++ b/src/core/pipes/no-tags.ts @@ -19,6 +19,7 @@ import { Pipe, PipeTransform } from '@angular/core'; */ @Pipe({ name: 'coreNoTags', + standalone: true, }) export class CoreNoTagsPipe implements PipeTransform { diff --git a/src/core/pipes/pipes.module.ts b/src/core/pipes/pipes.module.ts index f523f1b0a42..fff46151535 100644 --- a/src/core/pipes/pipes.module.ts +++ b/src/core/pipes/pipes.module.ts @@ -25,7 +25,7 @@ import { CoreTimeAgoPipe } from './time-ago'; import { CoreNoPeriodPipe } from './no-period'; @NgModule({ - declarations: [ + imports: [ CoreBytesToSizePipe, CoreCreateLinksPipe, CoreDateDayOrTimePipe, diff --git a/src/core/pipes/seconds-to-hms.ts b/src/core/pipes/seconds-to-hms.ts index c4c28449155..3e66712734e 100644 --- a/src/core/pipes/seconds-to-hms.ts +++ b/src/core/pipes/seconds-to-hms.ts @@ -25,6 +25,7 @@ import { CoreConstants } from '@/core/constants'; */ @Pipe({ name: 'coreSecondsToHMS', + standalone: true, }) export class CoreSecondsToHMSPipe implements PipeTransform { diff --git a/src/core/pipes/time-ago.ts b/src/core/pipes/time-ago.ts index c47d25ae958..65f6bbcf7d4 100644 --- a/src/core/pipes/time-ago.ts +++ b/src/core/pipes/time-ago.ts @@ -22,6 +22,7 @@ import moment from 'moment-timezone'; */ @Pipe({ name: 'coreTimeAgo', + standalone: true, }) export class CoreTimeAgoPipe implements PipeTransform { diff --git a/src/core/services/overlays/prompts.ts b/src/core/services/overlays/prompts.ts index d62cd5df5a1..9009e7f3f93 100644 --- a/src/core/services/overlays/prompts.ts +++ b/src/core/services/overlays/prompts.ts @@ -117,7 +117,7 @@ export class CorePromptsService { */ async promptPassword(passwordParams?: CorePasswordModalParams): Promise { const { CorePasswordModalComponent } = - await import('@/core/components/password-modal/password-modal.module'); + await import('@/core/components/password-modal/password-modal'); const modalData = await CoreModals.openModal( { From 46392a2358780a6dc3f8ef1bf0d856e77342d9cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Fri, 31 Jan 2025 23:30:07 +0100 Subject: [PATCH 09/16] MOBILE-4759 chore: Core features as standalone --- .../components/myoverview/myoverview.ts | 4 +-- .../recentlyaccessedcourses.ts | 4 +-- .../components/sitemainmenu/sitemainmenu.ts | 4 +-- .../starredcourses/starredcourses.ts | 4 +-- .../timeline/components/timeline/timeline.ts | 4 +-- .../blog/pages/edit-entry/edit-entry.ts | 8 ++--- src/addons/blog/pages/index/index.ts | 12 +++---- .../calendar/pages/edit-event/edit-event.ts | 3 +- src/addons/calendar/pages/index/index.ts | 4 +-- .../messages/pages/contacts-35/contacts.ts | 4 +-- .../pages/discussions-35/discussions.ts | 8 ++--- .../group-conversations.ts | 4 +-- src/addons/messages/pages/search/search.ts | 4 +-- .../mod/assign/components/index/index.ts | 6 ++-- .../components/submission/submission.ts | 4 +-- .../feedback/comments/component/comments.ts | 4 +-- .../submission/comments/component/comments.ts | 3 +- .../onlinetext/component/onlinetext.ts | 4 +-- .../bigbluebuttonbn/components/index/index.ts | 6 ++-- src/addons/mod/book/components/index/index.ts | 6 ++-- .../mod/book/pages/contents/contents.ts | 4 +-- src/addons/mod/chat/components/index/index.ts | 6 ++-- .../mod/choice/components/index/index.ts | 6 ++-- .../mod/data/components/action/action.ts | 8 ++--- src/addons/mod/data/components/index/index.ts | 6 ++-- .../fields/textarea/component/textarea.ts | 4 +-- src/addons/mod/data/pages/entry/entry.ts | 9 ++--- .../mod/feedback/components/index/index.ts | 6 ++-- .../mod/folder/components/index/index.ts | 6 ++-- .../mod/forum/components/index/index.ts | 6 ++-- src/addons/mod/forum/components/post/post.ts | 14 ++++---- .../pages/new-discussion/new-discussion.ts | 3 +- src/addons/mod/forum/pages/search/search.ts | 6 ++-- .../mod/glossary/components/index/index.ts | 10 +++--- src/addons/mod/glossary/pages/edit/edit.ts | 4 +-- src/addons/mod/glossary/pages/entry/entry.ts | 13 +++---- .../mod/h5pactivity/components/index/index.ts | 10 +++--- .../mod/imscp/components/index/index.ts | 6 ++-- .../mod/lesson/components/index/index.ts | 6 ++-- src/addons/mod/lesson/pages/player/player.ts | 4 +-- src/addons/mod/lti/components/index/index.ts | 6 ++-- src/addons/mod/page/components/index/index.ts | 6 ++-- src/addons/mod/quiz/components/index/index.ts | 6 ++-- src/addons/mod/quiz/pages/player/player.ts | 3 +- src/addons/mod/quiz/pages/review/review.ts | 4 +-- .../mod/resource/components/index/index.ts | 6 ++-- .../mod/scorm/components/index/index.ts | 6 ++-- .../mod/survey/components/index/index.ts | 6 ++-- src/addons/mod/url/components/index/index.ts | 6 ++-- src/addons/mod/wiki/components/index/index.ts | 10 +++--- src/addons/mod/wiki/pages/edit/edit.ts | 4 +-- .../assessment-strategy.ts | 4 +-- .../mod/workshop/components/index/index.ts | 12 ++++--- .../workshop/pages/assessment/assessment.ts | 4 +-- .../pages/edit-submission/edit-submission.ts | 4 +-- .../workshop/pages/submission/submission.ts | 4 +-- src/addons/notifications/pages/list/list.ts | 8 ++--- src/addons/qtype/essay/component/essay.ts | 4 +-- .../textarea/component/textarea.ts | 4 +-- .../features/block/components/block/block.ts | 7 +++- .../block/components/components.module.ts | 6 ++-- .../only-title-block/only-title-block.ts | 5 +++ .../pre-rendered-block/pre-rendered-block.ts | 5 +++ .../side-blocks-button/side-blocks-button.ts | 5 +++ .../side-blocks-tour/side-blocks-tour.ts | 5 +++ .../components/side-blocks/side-blocks.ts | 7 ++-- .../features/comments/comments-lazy.module.ts | 2 -- src/core/features/comments/comments.module.ts | 2 -- .../comments/components/comments/comments.ts | 5 +++ .../comments/components/components.module.ts | 30 ---------------- .../features/comments/pages/viewer/viewer.ts | 5 +++ .../course/components/components.module.ts | 10 +++--- .../components/course-format/course-format.ts | 4 +-- .../course-index-tour/course-index-tour.ts | 5 +++ .../course-section/course-section.ts | 4 +-- .../module-completion-legacy.ts | 5 +++ .../module-completion/module-completion.ts | 5 +++ .../components/module-info/module-info.ts | 9 +++++ .../module-navigation/module-navigation.ts | 5 +++ .../course/components/module/module.ts | 11 ++++++ .../course/components/tag-area/tag-area.ts | 5 +++ .../unsupported-module/unsupported-module.ts | 5 +++ .../course/course-contents-lazy.module.ts | 11 ------ .../features/course/course-lazy.module.ts | 13 ------- .../course/course-summary-lazy.module.ts | 8 +---- .../course/directives/directives.module.ts | 4 +-- .../directives/download-module-main-file.ts | 1 + .../components/singleactivity.ts | 4 +++ .../singleactivity/singleactivity.module.ts | 13 ------- .../course/pages/contents/contents.ts | 12 +++++-- .../course-summary/course-summary.module.ts | 29 --------------- ...urse-summary.page.ts => course-summary.ts} | 7 ++++ src/core/features/course/pages/index/index.ts | 5 +++ .../pages/list-mod-type/list-mod-type.ts | 7 ++++ .../pages/module-preview/module-preview.ts | 11 ++++++ .../features/course/services/course-helper.ts | 2 +- .../courses/components/components.module.ts | 6 +--- .../course-list-item/course-list-item.ts | 5 +++ .../courses/courses-dashboard-lazy.module.ts | 7 ---- .../features/courses/courses-lazy.module.ts | 14 -------- .../courses/courses-my-lazy.module.ts | 12 ------- .../courses/pages/categories/categories.ts | 7 ++++ .../courses/pages/dashboard/dashboard.ts | 8 +++++ src/core/features/courses/pages/list/list.ts | 11 ++++++ src/core/features/courses/pages/my/my.ts | 18 ++++++++-- .../dataprivacy/dataprivacy-lazy.module.ts | 5 --- .../features/dataprivacy/pages/main/main.ts | 5 +++ .../editor/components/components.module.ts | 9 ++--- .../rich-text-editor/rich-text-editor.ts | 7 ++++ src/core/features/editor/editor.module.ts | 4 --- .../components/capture-media/capture-media.ts | 5 +++ .../emulator/components/components.module.ts | 6 +--- .../grades/grades-course-lazy.module.ts | 4 +-- .../grades-course-participants-lazy.module.ts | 4 +-- .../grades/grades-courses-lazy.module.ts | 9 +---- .../grades/pages/course/course.module.ts | 29 --------------- .../course/{course.page.ts => course.ts} | 5 +++ .../features/grades/pages/courses/courses.ts | 5 +++ .../h5p/components/components.module.ts | 34 ------------------ .../h5p/components/h5p-iframe/h5p-iframe.ts | 5 +++ .../h5p/components/h5p-player/h5p-player.ts | 7 ++++ src/core/features/h5p/h5p.module.ts | 4 --- .../login/components/components.module.ts | 35 ------------------- .../exceeded-attempts/exceeded-attempts.ts | 5 +++ .../components/login-methods/login-methods.ts | 7 ++++ .../login/login-credentials-lazy.module.ts | 9 ----- src/core/features/login/login-lazy.module.ts | 13 ------- .../login/login-reconnect-lazy.module.ts | 11 ------ .../pages/change-password/change-password.ts | 5 +++ .../login/pages/credentials/credentials.ts | 11 ++++++ .../login/pages/email-signup/email-signup.ts | 7 ++++ .../forgotten-password/forgotten-password.ts | 7 ++++ .../login/pages/reconnect/reconnect.ts | 12 +++++++ src/core/features/login/pages/site/site.ts | 5 +++ src/core/features/login/pages/sites/sites.ts | 5 +++ .../features/login/tests/credentials.test.ts | 15 ++++++-- .../mainmenu/components/components.module.ts | 35 ------------------- .../user-menu-button/user-menu-button.ts | 5 +++ .../user-menu-tour/user-menu-tour.ts | 5 +++ .../mainmenu/mainmenu-home-lazy.module.ts | 12 ------- .../features/mainmenu/mainmenu-lazy.module.ts | 9 ----- .../mainmenu/mainmenu-more-lazy.module.ts | 9 ----- .../mainmenu/mainmenu-reload-lazy.module.ts | 2 -- src/core/features/mainmenu/pages/home/home.ts | 9 +++++ src/core/features/mainmenu/pages/menu/menu.ts | 12 +++++-- src/core/features/mainmenu/pages/more/more.ts | 7 ++++ .../features/mainmenu/pages/reload/reload.ts | 5 +++ .../policy/pages/acceptances/acceptances.ts | 5 +++ .../policy/pages/site-policy/site-policy.ts | 5 +++ .../features/policy/policy-lazy.module.ts | 6 ---- .../question/components/components.module.ts | 6 +--- .../question/components/question/question.ts | 5 +++ .../rating/components/aggregate/aggregate.ts | 5 +++ .../rating/components/components.module.ts | 33 ----------------- .../features/rating/components/rate/rate.ts | 5 +++ .../reminders/components/components.module.ts | 6 +--- .../reminders/components/date/date.ts | 7 ++++ .../components/set-button/set-button.ts | 5 +++ .../features/reminders/reminders.module.ts | 4 --- .../components/components.module.ts | 33 ----------------- .../components/report-column/report-column.ts | 5 +++ .../components/report-detail/report-detail.ts | 7 ++++ .../features/reportbuilder/pages/list/list.ts | 5 +++ .../reportbuilder/pages/report/report.ts | 7 ++++ .../reportbuilder-lazy.module.ts | 8 ----- .../search/components/components.module.ts | 6 +--- .../global-search-result.ts | 5 +++ .../components/search-box/search-box.ts | 5 +++ .../pages/global-search/global-search.ts | 10 ++++++ .../features/search/search-lazy.module.ts | 11 ------ src/core/features/search/search.module.ts | 2 -- .../features/settings/pages/about/about.ts | 5 +++ src/core/features/settings/pages/dev/dev.ts | 5 +++ .../settings/pages/deviceinfo/deviceinfo.ts | 5 +++ .../settings/pages/error-log/error-log.ts | 5 +++ .../settings/pages/general/general.ts | 5 +++ .../features/settings/pages/index/index.ts | 5 +++ .../settings/pages/licenses/licenses.ts | 5 +++ src/core/features/settings/pages/site/site.ts | 5 +++ .../settings/pages/space-usage/space-usage.ts | 5 +++ .../pages/synchronization/synchronization.ts | 5 +++ .../features/settings/settings-lazy.module.ts | 13 ------- .../settings/settings-site-lazy.module.ts | 7 ---- .../components/components.module.ts | 31 ---------------- .../components/list-modal/list-modal.ts | 4 +-- .../sharedfiles/components/list/list.ts | 5 +++ .../pages/choose-site/choose-site.ts | 5 +++ .../features/sharedfiles/pages/list/list.ts | 7 ++++ .../sharedfiles/sharedfiles-lazy.module.ts | 8 ----- .../sharedfiles/sharedfiles.module.ts | 2 -- .../features/sitehome/pages/index/index.ts | 9 +++++ .../features/sitehome/sitehome-lazy.module.ts | 9 ----- .../components/module-index/module-index.ts | 8 +++-- .../directives/call-ws-new-content.ts | 1 + .../siteplugins/directives/call-ws-on-load.ts | 1 + .../siteplugins/directives/call-ws.ts | 1 + .../directives/directives.module.ts | 2 +- .../siteplugins/directives/new-content.ts | 1 + .../tag/components/components.module.ts | 34 ------------------ src/core/features/tag/components/feed/feed.ts | 5 +++ src/core/features/tag/components/list/list.ts | 5 +++ .../tag/pages/index-area/index-area.ts | 5 +++ src/core/features/tag/pages/index/index.ts | 5 +++ src/core/features/tag/pages/search/search.ts | 9 +++++ src/core/features/tag/tag-lazy.module.ts | 13 ------- src/core/features/tag/tag.module.ts | 2 -- .../user/components/components.module.ts | 6 +--- .../user/components/tag-area/tag-area.ts | 5 +++ .../user-profile-field/user-profile-field.ts | 5 +++ src/core/features/user/pages/about/about.ts | 7 ++++ .../complete-profile/complete-profile.ts | 5 +++ .../pages/participants/participants.module.ts | 31 ---------------- .../{participants.page.ts => participants.ts} | 7 ++++ .../features/user/pages/profile/profile.ts | 5 +++ .../features/user/user-app-lazy.module.ts | 5 --- .../features/user/user-course-lazy.module.ts | 4 +-- src/core/features/user/user-lazy.module.ts | 7 ---- .../features/user/user-profile-lazy.module.ts | 5 --- src/core/features/user/user.module.ts | 2 -- .../usertours/components/components.module.ts | 34 ------------------ .../components/user-tour/user-tour.ts | 5 +++ .../features/usertours/user-tours.module.ts | 4 --- .../features/viewer/pages/iframe/iframe.ts | 5 +++ .../features/viewer/viewer-lazy.module.ts | 5 --- 224 files changed, 795 insertions(+), 905 deletions(-) delete mode 100644 src/core/features/comments/components/components.module.ts delete mode 100644 src/core/features/course/pages/course-summary/course-summary.module.ts rename src/core/features/course/pages/course-summary/{course-summary.page.ts => course-summary.ts} (98%) delete mode 100644 src/core/features/grades/pages/course/course.module.ts rename src/core/features/grades/pages/course/{course.page.ts => course.ts} (98%) delete mode 100644 src/core/features/h5p/components/components.module.ts delete mode 100644 src/core/features/login/components/components.module.ts delete mode 100644 src/core/features/mainmenu/components/components.module.ts delete mode 100644 src/core/features/rating/components/components.module.ts delete mode 100644 src/core/features/reportbuilder/components/components.module.ts delete mode 100644 src/core/features/sharedfiles/components/components.module.ts delete mode 100644 src/core/features/tag/components/components.module.ts delete mode 100644 src/core/features/user/pages/participants/participants.module.ts rename src/core/features/user/pages/participants/{participants.page.ts => participants.ts} (96%) delete mode 100644 src/core/features/usertours/components/components.module.ts diff --git a/src/addons/block/myoverview/components/myoverview/myoverview.ts b/src/addons/block/myoverview/components/myoverview/myoverview.ts index 14e73f71398..c8255e0b3e2 100644 --- a/src/addons/block/myoverview/components/myoverview/myoverview.ts +++ b/src/addons/block/myoverview/components/myoverview/myoverview.ts @@ -35,7 +35,7 @@ import { PageLoadWatcher } from '@classes/page-load-watcher'; import { PageLoadsManager } from '@classes/page-loads-manager'; import { DownloadStatus } from '@/core/constants'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCoursesComponentsModule } from '@features/courses/components/components.module'; +import { CoreCoursesCourseListItemComponent } from '@features/courses/components/course-list-item/course-list-item'; import { CORE_COURSES_MY_COURSES_UPDATED_EVENT, CoreCoursesMyCoursesUpdatedEventAction, @@ -58,7 +58,7 @@ const FILTER_PRIORITY: AddonBlockMyOverviewTimeFilters[] = standalone: true, imports: [ CoreSharedModule, - CoreCoursesComponentsModule, + CoreCoursesCourseListItemComponent, ], }) export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implements OnInit, OnDestroy, OnChanges { diff --git a/src/addons/block/recentlyaccessedcourses/components/recentlyaccessedcourses/recentlyaccessedcourses.ts b/src/addons/block/recentlyaccessedcourses/components/recentlyaccessedcourses/recentlyaccessedcourses.ts index 133f8f7b40c..35a0f0f1896 100644 --- a/src/addons/block/recentlyaccessedcourses/components/recentlyaccessedcourses/recentlyaccessedcourses.ts +++ b/src/addons/block/recentlyaccessedcourses/components/recentlyaccessedcourses/recentlyaccessedcourses.ts @@ -31,7 +31,7 @@ import { CoreBlockBaseComponent } from '@features/block/classes/base-block-compo import { CoreUtils } from '@singletons/utils'; import { CoreSite } from '@classes/sites/site'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCoursesComponentsModule } from '@features/courses/components/components.module'; +import { CoreCoursesCourseListItemComponent } from '@features/courses/components/course-list-item/course-list-item'; import { CORE_COURSES_MY_COURSES_UPDATED_EVENT, CoreCoursesMyCoursesUpdatedEventAction, @@ -48,7 +48,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; standalone: true, imports: [ CoreSharedModule, - CoreCoursesComponentsModule, + CoreCoursesCourseListItemComponent, ], }) export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseComponent implements OnInit, OnDestroy { diff --git a/src/addons/block/sitemainmenu/components/sitemainmenu/sitemainmenu.ts b/src/addons/block/sitemainmenu/components/sitemainmenu/sitemainmenu.ts index a4323648edb..cb84c1d3532 100644 --- a/src/addons/block/sitemainmenu/components/sitemainmenu/sitemainmenu.ts +++ b/src/addons/block/sitemainmenu/components/sitemainmenu/sitemainmenu.ts @@ -20,7 +20,7 @@ import { CoreSiteHome, FrontPageItemNames } from '@features/sitehome/services/si import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; import { CoreBlockBaseComponent } from '@features/block/classes/base-block-component'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleComponent } from '@features/course/components/module/module'; /** * Component to render a site main menu block. @@ -31,7 +31,7 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleComponent, ], }) export class AddonBlockSiteMainMenuComponent extends CoreBlockBaseComponent implements OnInit { diff --git a/src/addons/block/starredcourses/components/starredcourses/starredcourses.ts b/src/addons/block/starredcourses/components/starredcourses/starredcourses.ts index 1b57099eb97..e6fc3963b76 100644 --- a/src/addons/block/starredcourses/components/starredcourses/starredcourses.ts +++ b/src/addons/block/starredcourses/components/starredcourses/starredcourses.ts @@ -27,7 +27,7 @@ import { CoreUtils } from '@singletons/utils'; import { CoreSite } from '@classes/sites/site'; import { AddonBlockStarredCourse, AddonBlockStarredCourses } from '../../services/starredcourses'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCoursesComponentsModule } from '@features/courses/components/components.module'; +import { CoreCoursesCourseListItemComponent } from '@features/courses/components/course-list-item/course-list-item'; import { CORE_COURSES_MY_COURSES_UPDATED_EVENT, CoreCoursesMyCoursesUpdatedEventAction, @@ -44,7 +44,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; standalone: true, imports: [ CoreSharedModule, - CoreCoursesComponentsModule, + CoreCoursesCourseListItemComponent, ], }) export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent implements OnInit, OnDestroy { diff --git a/src/addons/block/timeline/components/timeline/timeline.ts b/src/addons/block/timeline/components/timeline/timeline.ts index 052a8a2f6a1..c50374771ac 100644 --- a/src/addons/block/timeline/components/timeline/timeline.ts +++ b/src/addons/block/timeline/components/timeline/timeline.ts @@ -27,9 +27,9 @@ import { FormControl } from '@angular/forms'; import { formControlValue, resolved } from '@/core/utils/rxjs'; import { CoreLogger } from '@singletons/logger'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; import { AddonBlockTimelineEventsComponent } from '../events/events'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSearchBoxComponent } from '@features/search/components/search-box/search-box'; /** * Component to render a timeline block. @@ -42,7 +42,7 @@ import { CoreAlerts } from '@services/overlays/alerts'; standalone: true, imports: [ CoreSharedModule, - CoreSearchComponentsModule, + CoreSearchBoxComponent, AddonBlockTimelineEventsComponent, ], }) diff --git a/src/addons/blog/pages/edit-entry/edit-entry.ts b/src/addons/blog/pages/edit-entry/edit-entry.ts index c1018222a5f..fd36c7829a9 100644 --- a/src/addons/blog/pages/edit-entry/edit-entry.ts +++ b/src/addons/blog/pages/edit-entry/edit-entry.ts @@ -27,13 +27,11 @@ import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/co import { AddonBlogSync } from '@addons/blog/services/blog-sync'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { CoreError } from '@classes/errors/error'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; import { CoreCourse } from '@features/course/services/course'; import { CoreCourseHelper, CoreCourseModuleData } from '@features/course/services/course-helper'; import { CoreCourseBasicData } from '@features/courses/services/courses'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreFileUploader, CoreFileUploaderStoreFilesResult } from '@features/fileuploader/services/fileuploader'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; import { CanLeave } from '@guards/can-leave'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreNavigator } from '@services/navigator'; @@ -53,10 +51,8 @@ import { CoreAlerts } from '@services/overlays/alerts'; templateUrl: './edit-entry.html', standalone: true, imports: [ - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, CoreSharedModule, - CoreCommentsComponentsModule, - CoreTagComponentsModule, ], }) export default class AddonBlogEditEntryPage implements CanLeave, OnInit, OnDestroy { diff --git a/src/addons/blog/pages/index/index.ts b/src/addons/blog/pages/index/index.ts index 29aa13ae3d8..2712583846d 100644 --- a/src/addons/blog/pages/index/index.ts +++ b/src/addons/blog/pages/index/index.ts @@ -44,10 +44,10 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { Subscription } from 'rxjs'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; +import { CoreCommentsCommentsComponent } from '@features/comments/components/comments/comments'; +import { CoreTagListComponent } from '@features/tag/components/list/list'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreMainMenuUserButtonComponent } from '@features/mainmenu/components/user-menu-button/user-menu-button'; /** * Page that displays the list of blog entries. @@ -59,9 +59,9 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreMainMenuComponentsModule, - CoreTagComponentsModule, - CoreCommentsComponentsModule, + CoreCommentsCommentsComponent, + CoreMainMenuUserButtonComponent, + CoreTagListComponent, ], }) export default class AddonBlogIndexPage implements OnInit, OnDestroy { diff --git a/src/addons/calendar/pages/edit-event/edit-event.ts b/src/addons/calendar/pages/edit-event/edit-event.ts index f973a1d42c9..7e9647d1505 100644 --- a/src/addons/calendar/pages/edit-event/edit-event.ts +++ b/src/addons/calendar/pages/edit-event/edit-event.ts @@ -54,7 +54,6 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { REMINDERS_DISABLED, CoreRemindersUnits } from '@features/reminders/constants'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -67,7 +66,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export default class AddonCalendarEditEventPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/calendar/pages/index/index.ts b/src/addons/calendar/pages/index/index.ts index 4158771dbf0..d08fa4c24e7 100644 --- a/src/addons/calendar/pages/index/index.ts +++ b/src/addons/calendar/pages/index/index.ts @@ -41,8 +41,8 @@ import { ADDON_CALENDAR_UNDELETED_EVENT_EVENT, } from '@addons/calendar/constants'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreMainMenuUserButtonComponent } from '@features/mainmenu/components/user-menu-button/user-menu-button'; /** * Page that displays the calendar events. @@ -53,9 +53,9 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreMainMenuComponentsModule, AddonCalendarCalendarComponent, AddonCalendarUpcomingEventsComponent, + CoreMainMenuUserButtonComponent, ], }) export default class AddonCalendarIndexPage implements OnInit, OnDestroy { diff --git a/src/addons/messages/pages/contacts-35/contacts.ts b/src/addons/messages/pages/contacts-35/contacts.ts index 35a9d685787..9b0498e4623 100644 --- a/src/addons/messages/pages/contacts-35/contacts.ts +++ b/src/addons/messages/pages/contacts-35/contacts.ts @@ -30,7 +30,7 @@ import { CoreKeyboard } from '@singletons/keyboard'; import { ADDON_MESSAGES_MEMBER_INFO_CHANGED_EVENT } from '@addons/messages/constants'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; +import { CoreSearchBoxComponent } from '@features/search/components/search-box/search-box'; /** * Page that displays the list of contacts. @@ -42,7 +42,7 @@ import { CoreSearchComponentsModule } from '@features/search/components/componen standalone: true, imports: [ CoreSharedModule, - CoreSearchComponentsModule, + CoreSearchBoxComponent, ], }) export default class AddonMessagesContacts35Page implements OnInit, OnDestroy { diff --git a/src/addons/messages/pages/discussions-35/discussions.ts b/src/addons/messages/pages/discussions-35/discussions.ts index 7de9a6f4790..59bf3321f4f 100644 --- a/src/addons/messages/pages/discussions-35/discussions.ts +++ b/src/addons/messages/pages/discussions-35/discussions.ts @@ -35,8 +35,8 @@ import { ADDON_MESSAGES_NEW_MESSAGE_EVENT, ADDON_MESSAGES_READ_CHANGED_EVENT } f import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; +import { CoreSearchBoxComponent } from '@features/search/components/search-box/search-box'; +import { CoreMainMenuUserButtonComponent } from '@features/mainmenu/components/user-menu-button/user-menu-button'; /** * Page that displays the list of discussions. @@ -48,8 +48,8 @@ import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/comp standalone: true, imports: [ CoreSharedModule, - CoreSearchComponentsModule, - CoreMainMenuComponentsModule, + CoreSearchBoxComponent, + CoreMainMenuUserButtonComponent, ], }) export default class AddonMessagesDiscussions35Page implements OnInit, OnDestroy { diff --git a/src/addons/messages/pages/group-conversations/group-conversations.ts b/src/addons/messages/pages/group-conversations/group-conversations.ts index 189d8710a07..f659e39deec 100644 --- a/src/addons/messages/pages/group-conversations/group-conversations.ts +++ b/src/addons/messages/pages/group-conversations/group-conversations.ts @@ -49,8 +49,8 @@ import { AddonMessagesUpdateConversationAction, } from '@addons/messages/constants'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreMainMenuUserButtonComponent } from '@features/mainmenu/components/user-menu-button/user-menu-button'; const enum AddonMessagesGroupConversationOptionNames { FAVOURITES = 'favourites', @@ -68,7 +68,7 @@ const enum AddonMessagesGroupConversationOptionNames { standalone: true, imports: [ CoreSharedModule, - CoreMainMenuComponentsModule, + CoreMainMenuUserButtonComponent, ], }) export default class AddonMessagesGroupConversationsPage implements OnInit, OnDestroy { diff --git a/src/addons/messages/pages/search/search.ts b/src/addons/messages/pages/search/search.ts index 70894b121cc..d567b1e75df 100644 --- a/src/addons/messages/pages/search/search.ts +++ b/src/addons/messages/pages/search/search.ts @@ -31,7 +31,7 @@ import { } from '@addons/messages/constants'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; +import { CoreSearchBoxComponent } from '@features/search/components/search-box/search-box'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -43,7 +43,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreSearchComponentsModule, + CoreSearchBoxComponent, ], }) export default class AddonMessagesSearchPage implements OnDestroy { diff --git a/src/addons/mod/assign/components/index/index.ts b/src/addons/mod/assign/components/index/index.ts index 102cab6cfb1..a0e5a1d1656 100644 --- a/src/addons/mod/assign/components/index/index.ts +++ b/src/addons/mod/assign/components/index/index.ts @@ -53,8 +53,9 @@ import { ADDON_MOD_ASSIGN_WARN_GROUPS_REQUIRED, } from '../../constants'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; /** * Component that displays an assignment. @@ -65,8 +66,9 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, AddonModAssignSubmissionComponent, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModAssignIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/assign/components/submission/submission.ts b/src/addons/mod/assign/components/submission/submission.ts index fffe9a114ba..5fd8fa79fc0 100644 --- a/src/addons/mod/assign/components/submission/submission.ts +++ b/src/addons/mod/assign/components/submission/submission.ts @@ -72,8 +72,8 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; import { AddonModAssignFeedbackPluginComponent } from '../feedback-plugin/feedback-plugin'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; /** * Component that displays an assignment submission. @@ -86,7 +86,7 @@ import { CoreSharedModule } from '@/core/shared.module'; imports: [ CoreSharedModule, AddonModAssignSubmissionPluginComponent, - CoreCourseComponentsModule, + CoreCourseModuleNavigationComponent, AddonModAssignFeedbackPluginComponent, ], }) diff --git a/src/addons/mod/assign/feedback/comments/component/comments.ts b/src/addons/mod/assign/feedback/comments/component/comments.ts index 43beedeba4a..c309f7cf0b2 100644 --- a/src/addons/mod/assign/feedback/comments/component/comments.ts +++ b/src/addons/mod/assign/feedback/comments/component/comments.ts @@ -28,7 +28,7 @@ import { AddonModAssignFeedbackPluginBaseComponent } from '@addons/mod/assign/cl import { ContextLevel } from '@/core/constants'; import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants'; import { CoreViewer } from '@features/viewer/services/viewer'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -40,7 +40,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export class AddonModAssignFeedbackCommentsComponent extends AddonModAssignFeedbackPluginBaseComponent implements OnInit { diff --git a/src/addons/mod/assign/submission/comments/component/comments.ts b/src/addons/mod/assign/submission/comments/component/comments.ts index 8170095d4b4..e86f4db2fd5 100644 --- a/src/addons/mod/assign/submission/comments/component/comments.ts +++ b/src/addons/mod/assign/submission/comments/component/comments.ts @@ -17,7 +17,6 @@ import { AddonModAssignSubmissionPluginBaseComponent } from '@addons/mod/assign/ import { Component, ViewChild } from '@angular/core'; import { CoreCommentsCommentsComponent } from '@features/comments/components/comments/comments'; import { CoreComments } from '@features/comments/services/comments'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -29,7 +28,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCommentsComponentsModule, + CoreCommentsCommentsComponent, ], }) export class AddonModAssignSubmissionCommentsComponent extends AddonModAssignSubmissionPluginBaseComponent { diff --git a/src/addons/mod/assign/submission/onlinetext/component/onlinetext.ts b/src/addons/mod/assign/submission/onlinetext/component/onlinetext.ts index c86cd22dd09..0b5c3edc3a3 100644 --- a/src/addons/mod/assign/submission/onlinetext/component/onlinetext.ts +++ b/src/addons/mod/assign/submission/onlinetext/component/onlinetext.ts @@ -24,7 +24,7 @@ import { AddonModAssignSubmissionOnlineTextPluginData } from '../services/handle import { ContextLevel } from '@/core/constants'; import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants'; import { CoreViewer } from '@features/viewer/services/viewer'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -36,7 +36,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export class AddonModAssignSubmissionOnlineTextComponent extends AddonModAssignSubmissionPluginBaseComponent implements OnInit { diff --git a/src/addons/mod/bigbluebuttonbn/components/index/index.ts b/src/addons/mod/bigbluebuttonbn/components/index/index.ts index d808cf9eb6d..6625d93490e 100644 --- a/src/addons/mod/bigbluebuttonbn/components/index/index.ts +++ b/src/addons/mod/bigbluebuttonbn/components/index/index.ts @@ -36,8 +36,9 @@ import { convertTextToHTMLElement } from '@/core/utils/create-html-element'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreOpener } from '@singletons/opener'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; /** * Component that displays a Big Blue Button activity. @@ -49,7 +50,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModBBBIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/book/components/index/index.ts b/src/addons/mod/book/components/index/index.ts index 378b789b3ce..1bc9ea37ba2 100644 --- a/src/addons/mod/book/components/index/index.ts +++ b/src/addons/mod/book/components/index/index.ts @@ -20,8 +20,9 @@ import { CoreCourse } from '@features/course/services/course'; import { CoreNavigator } from '@services/navigator'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { ADDON_MOD_BOOK_PAGE_NAME, AddonModBookNumbering } from '../../constants'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; /** * Component that displays a book entry page. @@ -32,7 +33,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModBookIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/book/pages/contents/contents.ts b/src/addons/mod/book/pages/contents/contents.ts index 483cf94d164..52af49d220d 100644 --- a/src/addons/mod/book/pages/contents/contents.ts +++ b/src/addons/mod/book/pages/contents/contents.ts @@ -38,7 +38,7 @@ import { CoreUrl } from '@singletons/url'; import { ADDON_MOD_BOOK_COMPONENT, AddonModBookNavStyle } from '../../constants'; import { CoreModals } from '@services/overlays/modals'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreTagListComponent } from '@features/tag/components/list/list'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -51,7 +51,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreTagComponentsModule, + CoreTagListComponent, ], }) export default class AddonModBookContentsPage implements OnInit, OnDestroy { diff --git a/src/addons/mod/chat/components/index/index.ts b/src/addons/mod/chat/components/index/index.ts index ea148129026..6fcf974f065 100644 --- a/src/addons/mod/chat/components/index/index.ts +++ b/src/addons/mod/chat/components/index/index.ts @@ -21,8 +21,9 @@ import { CoreTimeUtils } from '@services/utils/time'; import { CoreTime } from '@singletons/time'; import { AddonModChat, AddonModChatChat } from '../../services/chat'; import { ADDON_MOD_CHAT_COMPONENT, ADDON_MOD_CHAT_PAGE_NAME } from '../../constants'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; /** * Component that displays a chat. @@ -33,7 +34,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModChatIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/choice/components/index/index.ts b/src/addons/mod/choice/components/index/index.ts index 4445e46f48d..a188956c08f 100644 --- a/src/addons/mod/choice/components/index/index.ts +++ b/src/addons/mod/choice/components/index/index.ts @@ -42,8 +42,9 @@ import { } from '../../constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; /** * Component that displays a choice. @@ -54,7 +55,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModChoiceIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/data/components/action/action.ts b/src/addons/mod/data/components/action/action.ts index 85eb12c2f28..a3495aa0018 100644 --- a/src/addons/mod/data/components/action/action.ts +++ b/src/addons/mod/data/components/action/action.ts @@ -34,8 +34,8 @@ import { AddonModDataAction, AddonModDataTemplateMode, } from '../../constants'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; +import { CoreTagListComponent } from '@features/tag/components/list/list'; +import { CoreCommentsCommentsComponent } from '@features/comments/components/comments/comments'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -47,8 +47,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCommentsComponentsModule, - CoreTagComponentsModule, + CoreCommentsCommentsComponent, + CoreTagListComponent, ], }) export class AddonModDataActionComponent implements OnInit { diff --git a/src/addons/mod/data/components/index/index.ts b/src/addons/mod/data/components/index/index.ts index a17ce796003..8fcf66fe81c 100644 --- a/src/addons/mod/data/components/index/index.ts +++ b/src/addons/mod/data/components/index/index.ts @@ -57,7 +57,8 @@ import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; const contentToken = ''; @@ -72,7 +73,8 @@ const contentToken = ''; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, CoreCompileHtmlComponent, ], }) diff --git a/src/addons/mod/data/fields/textarea/component/textarea.ts b/src/addons/mod/data/fields/textarea/component/textarea.ts index e9e98af7248..beef28c70f6 100644 --- a/src/addons/mod/data/fields/textarea/component/textarea.ts +++ b/src/addons/mod/data/fields/textarea/component/textarea.ts @@ -18,7 +18,7 @@ import { AddonModDataEntryField } from '@addons/mod/data/services/data'; import { CoreFileHelper } from '@services/file-helper'; import { CoreWSFile } from '@services/ws'; import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -30,7 +30,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export class AddonModDataFieldTextareaComponent extends AddonModDataFieldPluginBaseComponent { diff --git a/src/addons/mod/data/pages/entry/entry.ts b/src/addons/mod/data/pages/entry/entry.ts index 15896db117f..4ef1ae37853 100644 --- a/src/addons/mod/data/pages/entry/entry.ts +++ b/src/addons/mod/data/pages/entry/entry.ts @@ -45,10 +45,10 @@ import { import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; -import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; import { CoreCompileHtmlComponent } from '@features/compile/components/compile-html/compile-html'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreRatingRateComponent } from '@features/rating/components/rate/rate'; +import { CoreRatingAggregateComponent } from '@features/rating/components/aggregate/aggregate'; /** * Page that displays the view entry page. @@ -61,8 +61,9 @@ import { CoreSharedModule } from '@/core/shared.module'; imports: [ CoreSharedModule, CoreCompileHtmlComponent, - CoreRatingComponentsModule, - CoreCommentsComponentsModule, + CoreCommentsCommentsComponent, + CoreRatingRateComponent, + CoreRatingAggregateComponent, ], }) export default class AddonModDataEntryPage implements OnInit, OnDestroy { diff --git a/src/addons/mod/feedback/components/index/index.ts b/src/addons/mod/feedback/components/index/index.ts index 26584767c8d..ab94ba656c7 100644 --- a/src/addons/mod/feedback/components/index/index.ts +++ b/src/addons/mod/feedback/components/index/index.ts @@ -45,7 +45,8 @@ import { ADDON_MOD_FEEDBACK_PAGE_NAME, AddonModFeedbackIndexTabName, } from '../../constants'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -57,7 +58,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModFeedbackIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/folder/components/index/index.ts b/src/addons/mod/folder/components/index/index.ts index a48f8ca51b3..c7a06a24a1e 100644 --- a/src/addons/mod/folder/components/index/index.ts +++ b/src/addons/mod/folder/components/index/index.ts @@ -23,7 +23,8 @@ import { AddonModFolder, AddonModFolderFolder } from '../../services/folder'; import { AddonModFolderFolderFormattedData, AddonModFolderHelper } from '../../services/folder-helper'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { ADDON_MOD_FOLDER_COMPONENT, ADDON_MOD_FOLDER_PAGE_NAME } from '../../constants'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -38,7 +39,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModFolderIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit { diff --git a/src/addons/mod/forum/components/index/index.ts b/src/addons/mod/forum/components/index/index.ts index d7792827600..39c8629e072 100644 --- a/src/addons/mod/forum/components/index/index.ts +++ b/src/addons/mod/forum/components/index/index.ts @@ -68,7 +68,8 @@ import { CorePopovers } from '@services/overlays/popovers'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; /** * Component that displays a forum entry page. @@ -80,7 +81,8 @@ import { CoreCourseComponentsModule } from '@features/course/components/componen standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModForumIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, AfterViewInit, OnDestroy { diff --git a/src/addons/mod/forum/components/post/post.ts b/src/addons/mod/forum/components/post/post.ts index 6ef320e4fc1..7416a48f4a8 100644 --- a/src/addons/mod/forum/components/post/post.ts +++ b/src/addons/mod/forum/components/post/post.ts @@ -61,10 +61,11 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreAlerts } from '@services/overlays/alerts'; import { AccordionGroupCustomEvent } from '@ionic/angular'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; -import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; +import { CoreTagListComponent } from '@features/tag/components/list/list'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreRatingAggregateComponent } from '@features/rating/components/aggregate/aggregate'; +import { CoreRatingRateComponent } from '@features/rating/components/rate/rate'; /** * Components that shows a discussion post, its attachments and the action buttons allowed (reply, etc.). @@ -76,9 +77,10 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreTagComponentsModule, - CoreRatingComponentsModule, - CoreEditorComponentsModule, + CoreTagListComponent, + CoreRatingRateComponent, + CoreRatingAggregateComponent, + CoreEditorRichTextEditorComponent, ], }) export class AddonModForumPostComponent implements OnInit, OnDestroy, OnChanges { 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 d3dd174a181..66277604add 100644 --- a/src/addons/mod/forum/pages/new-discussion/new-discussion.ts +++ b/src/addons/mod/forum/pages/new-discussion/new-discussion.ts @@ -54,7 +54,6 @@ 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'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; type NewDiscussionData = { @@ -77,7 +76,7 @@ type NewDiscussionData = { standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export default class AddonModForumNewDiscussionPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/forum/pages/search/search.ts b/src/addons/mod/forum/pages/search/search.ts index 08b74bcb3f6..28030720a9f 100644 --- a/src/addons/mod/forum/pages/search/search.ts +++ b/src/addons/mod/forum/pages/search/search.ts @@ -32,8 +32,9 @@ import { Translate } from '@singletons'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreLoadings } from '@services/overlays/loadings'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; +import { CoreSearchBoxComponent } from '@features/search/components/search-box/search-box'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreSearchGlobalSearchResultComponent } from '@features/search/components/global-search-result/global-search-result'; @Component({ selector: 'page-addon-mod-forum-search', @@ -41,7 +42,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreSearchComponentsModule, + CoreSearchBoxComponent, + CoreSearchGlobalSearchResultComponent, ], }) export default class AddonModForumSearchPage implements OnInit { diff --git a/src/addons/mod/glossary/components/index/index.ts b/src/addons/mod/glossary/components/index/index.ts index df68d406362..6b5bcfc0b3d 100644 --- a/src/addons/mod/glossary/components/index/index.ts +++ b/src/addons/mod/glossary/components/index/index.ts @@ -59,8 +59,9 @@ import { } from '../../constants'; import { CorePopovers } from '@services/overlays/popovers'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; +import { CoreSearchBoxComponent } from '@features/search/components/search-box/search-box'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -73,8 +74,9 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreSearchComponentsModule, - CoreCourseComponentsModule, + CoreSearchBoxComponent, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModGlossaryIndexComponent extends CoreCourseModuleMainActivityComponent diff --git a/src/addons/mod/glossary/pages/edit/edit.ts b/src/addons/mod/glossary/pages/edit/edit.ts index 9ae7deddf9c..e388ac2c609 100644 --- a/src/addons/mod/glossary/pages/edit/edit.ts +++ b/src/addons/mod/glossary/pages/edit/edit.ts @@ -41,7 +41,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { ADDON_MOD_GLOSSARY_COMPONENT } from '../../constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -53,7 +53,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export default class AddonModGlossaryEditPage implements OnInit, CanLeave { diff --git a/src/addons/mod/glossary/pages/entry/entry.ts b/src/addons/mod/glossary/pages/entry/entry.ts index ba3923a8009..b2eb0cd653e 100644 --- a/src/addons/mod/glossary/pages/entry/entry.ts +++ b/src/addons/mod/glossary/pages/entry/entry.ts @@ -42,10 +42,10 @@ 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'; -import { CoreRatingComponentsModule } from '@features/rating/components/components.module'; -import { CoreCommentsComponentsModule } from '@features/comments/components/components.module'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; +import { CoreTagListComponent } from '@features/tag/components/list/list'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreRatingRateComponent } from '@features/rating/components/rate/rate'; +import { CoreRatingAggregateComponent } from '@features/rating/components/aggregate/aggregate'; /** * Page that displays a glossary entry. @@ -56,9 +56,10 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreTagComponentsModule, - CoreCommentsComponentsModule, - CoreRatingComponentsModule, + CoreTagListComponent, + CoreCommentsCommentsComponent, + CoreRatingRateComponent, + CoreRatingAggregateComponent, ], }) export default class AddonModGlossaryEntryPage implements OnInit, OnDestroy { diff --git a/src/addons/mod/h5pactivity/components/index/index.ts b/src/addons/mod/h5pactivity/components/index/index.ts index 7548256158a..db259f94f2f 100644 --- a/src/addons/mod/h5pactivity/components/index/index.ts +++ b/src/addons/mod/h5pactivity/components/index/index.ts @@ -58,9 +58,10 @@ import { NgZone, Translate } from '@singletons'; import { CoreError } from '@classes/errors/error'; import { CoreErrorHelper } from '@services/error-helper'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreH5PComponentsModule } from '@features/h5p/components/components.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreH5PIframeComponent } from '@features/h5p/components/h5p-iframe/h5p-iframe'; /** * Component that displays an H5P activity entry page. @@ -71,8 +72,9 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, - CoreH5PComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, + CoreH5PIframeComponent, ], }) export class AddonModH5PActivityIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/imscp/components/index/index.ts b/src/addons/mod/imscp/components/index/index.ts index d58b0c7fe7d..3876aa21c49 100644 --- a/src/addons/mod/imscp/components/index/index.ts +++ b/src/addons/mod/imscp/components/index/index.ts @@ -20,7 +20,8 @@ import { CoreNavigator } from '@services/navigator'; import { AddonModImscp, AddonModImscpTocItem } from '../../services/imscp'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { ADDON_MOD_IMSCP_COMPONENT, ADDON_MOD_IMSCP_PAGE_NAME } from '../../constants'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -33,7 +34,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModImscpIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit { diff --git a/src/addons/mod/lesson/components/index/index.ts b/src/addons/mod/lesson/components/index/index.ts index 5635625855c..72e9c5ddbf9 100644 --- a/src/addons/mod/lesson/components/index/index.ts +++ b/src/addons/mod/lesson/components/index/index.ts @@ -52,7 +52,8 @@ import { ADDON_MOD_LESSON_PAGE_NAME, } from '../../constants'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -64,7 +65,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModLessonIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/lesson/pages/player/player.ts b/src/addons/mod/lesson/pages/player/player.ts index 0214c5751c2..0266d2775e9 100644 --- a/src/addons/mod/lesson/pages/player/player.ts +++ b/src/addons/mod/lesson/pages/player/player.ts @@ -57,7 +57,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreDom } from '@singletons/dom'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -70,7 +70,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export default class AddonModLessonPlayerPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/lti/components/index/index.ts b/src/addons/mod/lti/components/index/index.ts index bed3757e345..c5d94a1ceb4 100644 --- a/src/addons/mod/lti/components/index/index.ts +++ b/src/addons/mod/lti/components/index/index.ts @@ -19,7 +19,8 @@ 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'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -31,7 +32,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModLtiIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/page/components/index/index.ts b/src/addons/mod/page/components/index/index.ts index 560ed7f4b47..61c9bb71b4e 100644 --- a/src/addons/mod/page/components/index/index.ts +++ b/src/addons/mod/page/components/index/index.ts @@ -21,7 +21,8 @@ import { AddonModPagePage, AddonModPage } from '../../services/page'; import { AddonModPageHelper } from '../../services/page-helper'; import { ADDON_MOD_PAGE_COMPONENT } from '../../constants'; import { CorePromiseUtils } from '@singletons/promise-utils'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -33,7 +34,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModPageIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit { diff --git a/src/addons/mod/quiz/components/index/index.ts b/src/addons/mod/quiz/components/index/index.ts index a5fa42641f1..d5d47f6f4dc 100644 --- a/src/addons/mod/quiz/components/index/index.ts +++ b/src/addons/mod/quiz/components/index/index.ts @@ -53,7 +53,8 @@ import { QuestionDisplayOptionsMarks } from '@features/question/constants'; import { CoreAlerts } from '@services/overlays/alerts'; import { AddonModQuizAttemptInfoComponent } from '../attempt-info/attempt-info'; import { AddonModQuizAttemptStateComponent } from '../attempt-state/attempt-state'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -66,7 +67,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, AddonModQuizAttemptStateComponent, AddonModQuizAttemptInfoComponent, ], diff --git a/src/addons/mod/quiz/pages/player/player.ts b/src/addons/mod/quiz/pages/player/player.ts index 43754f660e5..9e5d9f3645f 100644 --- a/src/addons/mod/quiz/pages/player/player.ts +++ b/src/addons/mod/quiz/pages/player/player.ts @@ -55,7 +55,6 @@ import { CoreWait } from '@singletons/wait'; import { CoreModals } from '@services/overlays/modals'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreQuestionComponentsModule } from '@features/question/components/components.module'; import { AddonModQuizQuestionCardComponent } from '../../components/question-card/question-card'; import { CoreSharedModule } from '@/core/shared.module'; @@ -70,7 +69,7 @@ import { CoreSharedModule } from '@/core/shared.module'; imports: [ CoreSharedModule, AddonModQuizQuestionCardComponent, - CoreQuestionComponentsModule, + CoreQuestionComponent, ], }) export default class AddonModQuizPlayerPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/quiz/pages/review/review.ts b/src/addons/mod/quiz/pages/review/review.ts index 4d230271e31..d7f6496e41f 100644 --- a/src/addons/mod/quiz/pages/review/review.ts +++ b/src/addons/mod/quiz/pages/review/review.ts @@ -37,10 +37,10 @@ import { ADDON_MOD_QUIZ_COMPONENT } from '../../constants'; import { CoreModals } from '@services/overlays/modals'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; -import { CoreQuestionComponentsModule } from '@features/question/components/components.module'; import { AddonModQuizQuestionCardComponent } from '../../components/question-card/question-card'; import { AddonModQuizAttemptInfoComponent } from '../../components/attempt-info/attempt-info'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreQuestionComponent } from '@features/question/components/question/question'; /** * Page that allows reviewing a quiz attempt. @@ -53,7 +53,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, AddonModQuizAttemptInfoComponent, AddonModQuizQuestionCardComponent, - CoreQuestionComponentsModule, + CoreQuestionComponent, ], }) export default class AddonModQuizReviewPage implements OnInit { diff --git a/src/addons/mod/resource/components/index/index.ts b/src/addons/mod/resource/components/index/index.ts index f886aca80ed..527b8a381ed 100644 --- a/src/addons/mod/resource/components/index/index.ts +++ b/src/addons/mod/resource/components/index/index.ts @@ -36,7 +36,8 @@ import { ADDON_MOD_RESOURCE_COMPONENT } from '../../constants'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { OpenFileAction } from '@singletons/opener'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -49,7 +50,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModResourceIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/scorm/components/index/index.ts b/src/addons/mod/scorm/components/index/index.ts index 8639954040a..cd673b5ec7c 100644 --- a/src/addons/mod/scorm/components/index/index.ts +++ b/src/addons/mod/scorm/components/index/index.ts @@ -53,7 +53,8 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreNetwork } from '@services/network'; import { Subscription } from 'rxjs'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -66,7 +67,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModScormIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/survey/components/index/index.ts b/src/addons/mod/survey/components/index/index.ts index bc8815bc8a3..43d2abe81f0 100644 --- a/src/addons/mod/survey/components/index/index.ts +++ b/src/addons/mod/survey/components/index/index.ts @@ -39,7 +39,8 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { ADDON_MOD_SURVEY_AUTO_SYNCED, ADDON_MOD_SURVEY_COMPONENT } from '../../constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -52,7 +53,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModSurveyIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit { diff --git a/src/addons/mod/url/components/index/index.ts b/src/addons/mod/url/components/index/index.ts index 94acca6a7b7..e4432ebfd0a 100644 --- a/src/addons/mod/url/components/index/index.ts +++ b/src/addons/mod/url/components/index/index.ts @@ -24,7 +24,8 @@ import { AddonModUrl, AddonModUrlDisplayOptions, AddonModUrlUrl } from '../../se import { AddonModUrlHelper } from '../../services/url-helper'; import { ADDON_MOD_URL_COMPONENT } from '../../constants'; import { CoreSites } from '@services/sites'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -37,7 +38,8 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModUrlIndexComponent extends CoreCourseModuleMainResourceComponent implements OnInit { diff --git a/src/addons/mod/wiki/components/index/index.ts b/src/addons/mod/wiki/components/index/index.ts index 6006e9ca38c..879c54938f3 100644 --- a/src/addons/mod/wiki/components/index/index.ts +++ b/src/addons/mod/wiki/components/index/index.ts @@ -60,9 +60,10 @@ import { import { CoreModals } from '@services/overlays/modals'; import { CorePopovers } from '@services/overlays/popovers'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreTagComponentsModule } from '@features/tag/components/components.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; +import { CoreTagListComponent } from '@features/tag/components/list/list'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; /** * Component that displays a wiki entry page. @@ -74,8 +75,9 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, - CoreTagComponentsModule, + CoreTagListComponent, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class AddonModWikiIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/wiki/pages/edit/edit.ts b/src/addons/mod/wiki/pages/edit/edit.ts index 938366494f1..d36c6a1e0ba 100644 --- a/src/addons/mod/wiki/pages/edit/edit.ts +++ b/src/addons/mod/wiki/pages/edit/edit.ts @@ -34,7 +34,7 @@ import { ADDON_MOD_WIKI_COMPONENT, ADDON_MOD_WIKI_PAGE_CREATED_EVENT, ADDON_MOD_ import { CoreLoadings } from '@services/overlays/loadings'; import { CoreFileHelper } from '@services/file-helper'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -46,7 +46,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export default class AddonModWikiEditPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/workshop/components/assessment-strategy/assessment-strategy.ts b/src/addons/mod/workshop/components/assessment-strategy/assessment-strategy.ts index c9a40668000..2ee4facef07 100644 --- a/src/addons/mod/workshop/components/assessment-strategy/assessment-strategy.ts +++ b/src/addons/mod/workshop/components/assessment-strategy/assessment-strategy.ts @@ -46,7 +46,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreWSError } from '@classes/errors/wserror'; import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -58,7 +58,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export class AddonModWorkshopAssessmentStrategyComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/workshop/components/index/index.ts b/src/addons/mod/workshop/components/index/index.ts index 49b8d357378..a9e46d736d1 100644 --- a/src/addons/mod/workshop/components/index/index.ts +++ b/src/addons/mod/workshop/components/index/index.ts @@ -60,8 +60,9 @@ import { import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreOpener } from '@singletons/opener'; import { AddonModWorkshopSubmissionComponent } from '../submission/submission'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; +import { CoreCourseModuleInfoComponent } from '@features/course/components/module-info/module-info'; /** * Component that displays a workshop index page. @@ -71,10 +72,11 @@ import { CoreSharedModule } from '@/core/shared.module'; templateUrl: 'addon-mod-workshop-index.html', standalone: true, imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - AddonModWorkshopSubmissionComponent, - ], + CoreSharedModule, + AddonModWorkshopSubmissionComponent, + CoreCourseModuleNavigationComponent, + CoreCourseModuleInfoComponent, +], }) export class AddonModWorkshopIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/mod/workshop/pages/assessment/assessment.ts b/src/addons/mod/workshop/pages/assessment/assessment.ts index 9c0ef256d44..89b8b6db5f3 100644 --- a/src/addons/mod/workshop/pages/assessment/assessment.ts +++ b/src/addons/mod/workshop/pages/assessment/assessment.ts @@ -45,7 +45,7 @@ import { } from '@addons/mod/workshop/constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { AddonModWorkshopAssessmentStrategyComponent } from '../../components/assessment-strategy/assessment-strategy'; import { CoreSharedModule } from '@/core/shared.module'; @@ -59,7 +59,7 @@ import { CoreSharedModule } from '@/core/shared.module'; imports: [ CoreSharedModule, AddonModWorkshopAssessmentStrategyComponent, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export default class AddonModWorkshopAssessmentPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts b/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts index 7d33b9cdd42..3ee6630ecf6 100644 --- a/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts +++ b/src/addons/mod/workshop/pages/edit-submission/edit-submission.ts @@ -46,7 +46,7 @@ import { import { CoreLoadings } from '@services/overlays/loadings'; import { CoreDom } from '@singletons/dom'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -58,7 +58,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export default class AddonModWorkshopEditSubmissionPage implements OnInit, OnDestroy, CanLeave { diff --git a/src/addons/mod/workshop/pages/submission/submission.ts b/src/addons/mod/workshop/pages/submission/submission.ts index 9c351c2a269..ea47bd48b02 100644 --- a/src/addons/mod/workshop/pages/submission/submission.ts +++ b/src/addons/mod/workshop/pages/submission/submission.ts @@ -56,7 +56,7 @@ import { } from '@addons/mod/workshop/constants'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { AddonModWorkshopAssessmentComponent } from '../../components/assessment/assessment'; import { AddonModWorkshopSubmissionComponent } from '../../components/submission/submission'; import { CoreSharedModule } from '@/core/shared.module'; @@ -70,7 +70,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, AddonModWorkshopAssessmentComponent, AddonModWorkshopAssessmentStrategyComponent, AddonModWorkshopSubmissionComponent, diff --git a/src/addons/notifications/pages/list/list.ts b/src/addons/notifications/pages/list/list.ts index ef702561fd4..b46fa85c723 100644 --- a/src/addons/notifications/pages/list/list.ts +++ b/src/addons/notifications/pages/list/list.ts @@ -34,8 +34,8 @@ import { CoreConstants } from '@/core/constants'; import { CorePlatform } from '@services/platform'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreMainMenuUserButtonComponent } from '@features/mainmenu/components/user-menu-button/user-menu-button'; /** * Page that displays the list of notifications. @@ -46,9 +46,9 @@ import { CoreSharedModule } from '@/core/shared.module'; styleUrls: ['list.scss', '../../notifications.scss'], standalone: true, imports: [ - CoreSharedModule, - CoreMainMenuComponentsModule, - ], + CoreSharedModule, + CoreMainMenuUserButtonComponent, +], }) export default class AddonNotificationsListPage implements AfterViewInit, OnDestroy { diff --git a/src/addons/qtype/essay/component/essay.ts b/src/addons/qtype/essay/component/essay.ts index 65be7912fb9..1f4cfd44714 100644 --- a/src/addons/qtype/essay/component/essay.ts +++ b/src/addons/qtype/essay/component/essay.ts @@ -23,7 +23,7 @@ import { CoreText } from '@singletons/text'; import { CoreFileSession } from '@services/file-session'; import { CoreQuestion } from '@features/question/services/question'; import { CoreFileEntry } from '@services/file-helper'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -35,7 +35,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export class AddonQtypeEssayComponent extends CoreQuestionBaseComponent { diff --git a/src/addons/userprofilefield/textarea/component/textarea.ts b/src/addons/userprofilefield/textarea/component/textarea.ts index bf5b71084e1..5948e72df90 100644 --- a/src/addons/userprofilefield/textarea/component/textarea.ts +++ b/src/addons/userprofilefield/textarea/component/textarea.ts @@ -15,7 +15,7 @@ import { Component } from '@angular/core'; import { CoreUserProfileFieldBaseComponent } from '@features/user/classes/base-profilefield-component'; -import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; +import { CoreEditorRichTextEditorComponent } from '@features/editor/components/rich-text-editor/rich-text-editor'; import { CoreSharedModule } from '@/core/shared.module'; /** @@ -27,7 +27,7 @@ import { CoreSharedModule } from '@/core/shared.module'; standalone: true, imports: [ CoreSharedModule, - CoreEditorComponentsModule, + CoreEditorRichTextEditorComponent, ], }) export class AddonUserProfileFieldTextareaComponent extends CoreUserProfileFieldBaseComponent {} diff --git a/src/core/features/block/components/block/block.ts b/src/core/features/block/components/block/block.ts index a5efbace07e..59d4af7cdcd 100644 --- a/src/core/features/block/components/block/block.ts +++ b/src/core/features/block/components/block/block.ts @@ -16,9 +16,10 @@ import { Component, Input, ViewChild, OnDestroy, Type, OnChanges, SimpleChanges import { CoreBlockDelegate } from '../../services/block-delegate'; import { CoreDynamicComponent } from '@components/dynamic-component/dynamic-component'; import { Subscription } from 'rxjs'; -import { CoreCourseBlock } from '@/core/features/course/services/course'; +import { CoreCourseBlock } from '@features/course/services/course'; import type { ICoreBlockComponent } from '@features/block/classes/base-block-component'; import { ContextLevel } from '@/core/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a block. @@ -27,6 +28,10 @@ import { ContextLevel } from '@/core/constants'; selector: 'core-block', templateUrl: 'core-block.html', styleUrl: 'block.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreBlockComponent implements OnChanges, OnDestroy { diff --git a/src/core/features/block/components/components.module.ts b/src/core/features/block/components/components.module.ts index 7ebf07bd9b9..ffed4d4a8a4 100644 --- a/src/core/features/block/components/components.module.ts +++ b/src/core/features/block/components/components.module.ts @@ -21,16 +21,14 @@ import { CoreBlockSideBlocksButtonComponent } from './side-blocks-button/side-bl import { CoreBlockSideBlocksTourComponent } from './side-blocks-tour/side-blocks-tour'; @NgModule({ - declarations: [ + imports: [ + CoreSharedModule, CoreBlockComponent, CoreBlockOnlyTitleComponent, CoreBlockPreRenderedComponent, CoreBlockSideBlocksButtonComponent, CoreBlockSideBlocksTourComponent, ], - imports: [ - CoreSharedModule, - ], exports: [ CoreBlockComponent, CoreBlockOnlyTitleComponent, diff --git a/src/core/features/block/components/only-title-block/only-title-block.ts b/src/core/features/block/components/only-title-block/only-title-block.ts index 7affb4388f8..0cd011d8e3e 100644 --- a/src/core/features/block/components/only-title-block/only-title-block.ts +++ b/src/core/features/block/components/only-title-block/only-title-block.ts @@ -15,6 +15,7 @@ import { OnInit, Component } from '@angular/core'; import { CoreBlockBaseComponent } from '../../classes/base-block-component'; import { CoreNavigator } from '@services/navigator'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render blocks with only a title and link. @@ -23,6 +24,10 @@ import { CoreNavigator } from '@services/navigator'; selector: 'core-block-only-title', templateUrl: 'core-block-only-title.html', styleUrl: 'only-title-block.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreBlockOnlyTitleComponent extends CoreBlockBaseComponent implements OnInit { diff --git a/src/core/features/block/components/pre-rendered-block/pre-rendered-block.ts b/src/core/features/block/components/pre-rendered-block/pre-rendered-block.ts index 09212a5ab7c..e55fab67bc5 100644 --- a/src/core/features/block/components/pre-rendered-block/pre-rendered-block.ts +++ b/src/core/features/block/components/pre-rendered-block/pre-rendered-block.ts @@ -15,6 +15,7 @@ import { OnInit, Component, HostBinding } from '@angular/core'; import { CoreBlockBaseComponent } from '../../classes/base-block-component'; import { ContextLevel } from '@/core/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render blocks with pre-rendered HTML. @@ -22,6 +23,10 @@ import { ContextLevel } from '@/core/constants'; @Component({ selector: 'core-block-pre-rendered', templateUrl: 'core-block-pre-rendered.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreBlockPreRenderedComponent extends CoreBlockBaseComponent implements OnInit { diff --git a/src/core/features/block/components/side-blocks-button/side-blocks-button.ts b/src/core/features/block/components/side-blocks-button/side-blocks-button.ts index a1d12ca5f1a..65aaf8a2dcb 100644 --- a/src/core/features/block/components/side-blocks-button/side-blocks-button.ts +++ b/src/core/features/block/components/side-blocks-button/side-blocks-button.ts @@ -20,6 +20,7 @@ import { CoreModals } from '@services/overlays/modals'; import { CoreDom } from '@singletons/dom'; import { CoreBlockSideBlocksTourComponent } from '../side-blocks-tour/side-blocks-tour'; import { ContextLevel } from '@/core/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a button to open blocks. @@ -28,6 +29,10 @@ import { ContextLevel } from '@/core/constants'; selector: 'core-block-side-blocks-button', templateUrl: 'side-blocks-button.html', styleUrl: 'side-blocks-button.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreBlockSideBlocksButtonComponent implements OnInit, OnDestroy { diff --git a/src/core/features/block/components/side-blocks-tour/side-blocks-tour.ts b/src/core/features/block/components/side-blocks-tour/side-blocks-tour.ts index 546ebc68b48..4ee205a7965 100644 --- a/src/core/features/block/components/side-blocks-tour/side-blocks-tour.ts +++ b/src/core/features/block/components/side-blocks-tour/side-blocks-tour.ts @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { CoreSharedModule } from '@/core/shared.module'; import { Component } from '@angular/core'; import { CoreUserTours } from '@features/usertours/services/user-tours'; @@ -22,6 +23,10 @@ import { CoreUserTours } from '@features/usertours/services/user-tours'; selector: 'core-block-side-blocks-tour', templateUrl: 'side-blocks-tour.html', styleUrl: 'side-blocks-tour.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreBlockSideBlocksTourComponent { diff --git a/src/core/features/block/components/side-blocks/side-blocks.ts b/src/core/features/block/components/side-blocks/side-blocks.ts index 27687323e5f..3a355c60e67 100644 --- a/src/core/features/block/components/side-blocks/side-blocks.ts +++ b/src/core/features/block/components/side-blocks/side-blocks.ts @@ -23,7 +23,6 @@ import { CoreDom } from '@singletons/dom'; import { ContextLevel } from '@/core/constants'; import { CoreWait } from '@singletons/wait'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreBlockComponentsModule } from '../components.module'; import { CoreAlerts } from '@services/overlays/alerts'; /** @@ -35,9 +34,9 @@ import { CoreAlerts } from '@services/overlays/alerts'; styleUrl: 'side-blocks.scss', standalone: true, imports: [ - CoreSharedModule, - CoreBlockComponentsModule, - ], + CoreSharedModule, + CoreBlockComponent, +], }) export class CoreBlockSideBlocksComponent implements OnInit { diff --git a/src/core/features/comments/comments-lazy.module.ts b/src/core/features/comments/comments-lazy.module.ts index 36e60000487..7233a33425b 100644 --- a/src/core/features/comments/comments-lazy.module.ts +++ b/src/core/features/comments/comments-lazy.module.ts @@ -28,8 +28,6 @@ const routes: Routes = [ imports: [ RouterModule.forChild(routes), CoreSharedModule, - ], - declarations: [ CoreCommentsViewerPage, ], }) diff --git a/src/core/features/comments/comments.module.ts b/src/core/features/comments/comments.module.ts index 279fa33af2a..870882d9c2d 100644 --- a/src/core/features/comments/comments.module.ts +++ b/src/core/features/comments/comments.module.ts @@ -17,7 +17,6 @@ import { Routes } from '@angular/router'; import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; import { CoreCronDelegate } from '@services/cron'; import { CORE_SITE_SCHEMAS } from '@services/sites'; -import { CoreCommentsComponentsModule } from './components/components.module'; import { CoreComments } from './services/comments'; import { COMMENTS_OFFLINE_SITE_SCHEMA } from './services/database/comments'; import { CoreCommentsSyncCronHandler } from './services/handlers/sync-cron'; @@ -48,7 +47,6 @@ const routes: Routes = [ @NgModule({ imports: [ - CoreCommentsComponentsModule, CoreMainMenuTabRoutingModule.forChild(routes), ], providers: [ diff --git a/src/core/features/comments/components/comments/comments.ts b/src/core/features/comments/components/comments/comments.ts index b15171df757..1f672ce8a83 100644 --- a/src/core/features/comments/components/comments/comments.ts +++ b/src/core/features/comments/components/comments/comments.ts @@ -23,6 +23,7 @@ import { CoreNavigator } from '@services/navigator'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { ContextLevel } from '@/core/constants'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays the count of comments. @@ -31,6 +32,10 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-comments', templateUrl: 'core-comments.html', styleUrl: 'comments.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCommentsCommentsComponent implements OnInit, OnChanges, OnDestroy { diff --git a/src/core/features/comments/components/components.module.ts b/src/core/features/comments/components/components.module.ts deleted file mode 100644 index 2a2c672fd04..00000000000 --- a/src/core/features/comments/components/components.module.ts +++ /dev/null @@ -1,30 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { CoreCommentsCommentsComponent } from './comments/comments'; - -@NgModule({ - declarations: [ - CoreCommentsCommentsComponent, - ], - imports: [ - CoreSharedModule, - ], - exports: [ - CoreCommentsCommentsComponent, - ], -}) -export class CoreCommentsComponentsModule {} diff --git a/src/core/features/comments/pages/viewer/viewer.ts b/src/core/features/comments/pages/viewer/viewer.ts index 5de3365d54f..b2cd332b22e 100644 --- a/src/core/features/comments/pages/viewer/viewer.ts +++ b/src/core/features/comments/pages/viewer/viewer.ts @@ -46,6 +46,7 @@ import { CORE_COMMENTS_AUTO_SYNCED } from '@features/comments/constants'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreWait } from '@singletons/wait'; import { CoreDom } from '@singletons/dom'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays comments. @@ -55,6 +56,10 @@ import { CoreDom } from '@singletons/dom'; templateUrl: 'viewer.html', animations: [CoreAnimations.SLIDE_IN_OUT], styleUrls: ['../../../../../theme/components/discussion.scss', 'viewer.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCommentsViewerPage implements OnInit, OnDestroy, AfterViewInit { diff --git a/src/core/features/course/components/components.module.ts b/src/core/features/course/components/components.module.ts index 4d7f3743ac0..616d46ce712 100644 --- a/src/core/features/course/components/components.module.ts +++ b/src/core/features/course/components/components.module.ts @@ -27,7 +27,10 @@ import { CoreCourseCourseIndexTourComponent } from './course-index-tour/course-i import { CoreRemindersComponentsModule } from '@features/reminders/components/components.module'; @NgModule({ - declarations: [ + imports: [ + CoreBlockComponentsModule, + CoreRemindersComponentsModule, + CoreSharedModule, CoreCourseModuleComponent, CoreCourseModuleCompletionComponent, CoreCourseModuleCompletionLegacyComponent, @@ -37,11 +40,6 @@ import { CoreRemindersComponentsModule } from '@features/reminders/components/co CoreCourseUnsupportedModuleComponent, CoreCourseModuleNavigationComponent, ], - imports: [ - CoreBlockComponentsModule, - CoreRemindersComponentsModule, - CoreSharedModule, - ], exports: [ CoreCourseModuleComponent, CoreCourseModuleCompletionComponent, diff --git a/src/core/features/course/components/course-format/course-format.ts b/src/core/features/course/components/course-format/course-format.ts index c08b17b94b5..d2b0660b1da 100644 --- a/src/core/features/course/components/course-format/course-format.ts +++ b/src/core/features/course/components/course-format/course-format.ts @@ -53,7 +53,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { ContextLevel } from '@/core/constants'; import { CoreModals } from '@services/overlays/modals'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreBlockComponentsModule } from '@features/block/components/components.module'; +import { CoreBlockSideBlocksButtonComponent } from '../../../block/components/side-blocks-button/side-blocks-button'; import { CoreSites } from '@services/sites'; import { CORE_COURSE_ALL_SECTIONS_ID, @@ -85,7 +85,7 @@ import { CoreAlerts } from '@services/overlays/alerts'; imports: [ CoreSharedModule, CoreCourseSectionComponent, - CoreBlockComponentsModule, + CoreBlockSideBlocksButtonComponent, ], }) export class CoreCourseFormatComponent implements OnInit, OnChanges, OnDestroy { diff --git a/src/core/features/course/components/course-index-tour/course-index-tour.ts b/src/core/features/course/components/course-index-tour/course-index-tour.ts index 7b941ef7c84..e9847cdbdfd 100644 --- a/src/core/features/course/components/course-index-tour/course-index-tour.ts +++ b/src/core/features/course/components/course-index-tour/course-index-tour.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { CoreUserTours } from '@features/usertours/services/user-tours'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component showing the User Tour for the Course Index feature. @@ -22,6 +23,10 @@ import { CoreUserTours } from '@features/usertours/services/user-tours'; selector: 'core-course-course-index-tour', templateUrl: 'course-index-tour.html', styleUrl: 'course-index-tour.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCourseCourseIndexTourComponent { diff --git a/src/core/features/course/components/course-section/course-section.ts b/src/core/features/course/components/course-section/course-section.ts index a7155f0cf58..42ee1381f18 100644 --- a/src/core/features/course/components/course-section/course-section.ts +++ b/src/core/features/course/components/course-section/course-section.ts @@ -21,13 +21,13 @@ import { CoreCourseSection, } from '@features/course/services/course-helper'; import { CoreSharedModule } from '@/core/shared.module'; -import { CoreCourseComponentsModule } from '../components.module'; import { toBoolean } from '@/core/transforms/boolean'; import { CoreCourseAnyCourseData } from '@features/courses/services/courses'; import { CoreCourseViewedModulesDBRecord } from '@features/course/services/database/course'; import { sectionContentIsModule } from '@features/course/services/course'; import { CoreCourseFormatDelegate } from '@features/course/services/format-delegate'; import { CoreCourseModuleCompletionStatus } from '@features/course/constants'; +import { CoreCourseModuleComponent } from '../module/module'; /** * Component to display course section. @@ -39,7 +39,7 @@ import { CoreCourseModuleCompletionStatus } from '@features/course/constants'; standalone: true, imports: [ CoreSharedModule, - CoreCourseComponentsModule, + CoreCourseModuleComponent, ], }) export class CoreCourseSectionComponent implements OnInit { diff --git a/src/core/features/course/components/module-completion-legacy/module-completion-legacy.ts b/src/core/features/course/components/module-completion-legacy/module-completion-legacy.ts index af3f15aef07..22748154a59 100644 --- a/src/core/features/course/components/module-completion-legacy/module-completion-legacy.ts +++ b/src/core/features/course/components/module-completion-legacy/module-completion-legacy.ts @@ -26,6 +26,7 @@ import { CoreCourseHelper } from '@features/course/services/course-helper'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { BehaviorSubject } from 'rxjs'; import { ContextLevel } from '@/core/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to handle activity completion in sites previous to 3.11. @@ -40,6 +41,10 @@ import { ContextLevel } from '@/core/constants'; selector: 'core-course-module-completion-legacy', templateUrl: 'core-course-module-completion-legacy.html', styleUrl: 'module-completion-legacy.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCourseModuleCompletionLegacyComponent extends CoreCourseModuleCompletionBaseComponent implements OnInit, OnDestroy { diff --git a/src/core/features/course/components/module-completion/module-completion.ts b/src/core/features/course/components/module-completion/module-completion.ts index 1f82c9c99c1..bc8fa9a3301 100644 --- a/src/core/features/course/components/module-completion/module-completion.ts +++ b/src/core/features/course/components/module-completion/module-completion.ts @@ -22,6 +22,7 @@ import { CoreUser } from '@features/user/services/user'; import { Translate } from '@singletons'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to handle activity completion. It shows a checkbox with the current status, and allows manually changing @@ -36,6 +37,10 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-course-module-completion', templateUrl: 'core-course-module-completion.html', styleUrl: 'module-completion.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCourseModuleCompletionComponent extends CoreCourseModuleCompletionBaseComponent diff --git a/src/core/features/course/components/module-info/module-info.ts b/src/core/features/course/components/module-info/module-info.ts index 9f1ed30ff06..7f0fbf62dfa 100644 --- a/src/core/features/course/components/module-info/module-info.ts +++ b/src/core/features/course/components/module-info/module-info.ts @@ -18,6 +18,9 @@ import { CoreCourse } from '@features/course/services/course'; import { CoreCourseModuleCompletionData, CoreCourseModuleData } from '@features/course/services/course-helper'; import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; import { CoreSites } from '@services/sites'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleCompletionComponent } from '../module-completion/module-completion'; +import { CoreRemindersDateComponent } from '../../../reminders/components/date/date'; /** * Display info about a module: @@ -33,6 +36,12 @@ import { CoreSites } from '@services/sites'; selector: 'core-course-module-info', templateUrl: 'core-course-module-info.html', styleUrl: 'course-module-info.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseModuleCompletionComponent, + CoreRemindersDateComponent, + ], }) export class CoreCourseModuleInfoComponent implements OnInit { diff --git a/src/core/features/course/components/module-navigation/module-navigation.ts b/src/core/features/course/components/module-navigation/module-navigation.ts index b9f10a5b541..3e196c1c0b7 100644 --- a/src/core/features/course/components/module-navigation/module-navigation.ts +++ b/src/core/features/course/components/module-navigation/module-navigation.ts @@ -24,6 +24,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to show a button to go to the next resource/activity. @@ -35,6 +36,10 @@ import { Translate } from '@singletons'; selector: 'core-course-module-navigation', templateUrl: 'core-course-module-navigation.html', styleUrl: 'module-navigation.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCourseModuleNavigationComponent implements OnInit, OnDestroy { diff --git a/src/core/features/course/components/module/module.ts b/src/core/features/course/components/module/module.ts index 78dff998bfb..0601de56a89 100644 --- a/src/core/features/course/components/module/module.ts +++ b/src/core/features/course/components/module/module.ts @@ -31,6 +31,10 @@ import { CoreConstants, DownloadStatus } from '@/core/constants'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { BehaviorSubject } from 'rxjs'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreRemindersDateComponent } from '../../../reminders/components/date/date'; +import { CoreCourseModuleCompletionComponent } from '../module-completion/module-completion'; +import { CoreCourseModuleCompletionLegacyComponent } from '../module-completion-legacy/module-completion-legacy'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to display a module entry in a list of modules. @@ -43,6 +47,13 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-course-module', templateUrl: 'core-course-module.html', styleUrl: 'module.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseModuleCompletionLegacyComponent, + CoreCourseModuleCompletionComponent, + CoreRemindersDateComponent, + ], }) export class CoreCourseModuleComponent implements OnInit, OnDestroy { diff --git a/src/core/features/course/components/tag-area/tag-area.ts b/src/core/features/course/components/tag-area/tag-area.ts index 5c5f28c189c..d351c3dd0fb 100644 --- a/src/core/features/course/components/tag-area/tag-area.ts +++ b/src/core/features/course/components/tag-area/tag-area.ts @@ -16,6 +16,7 @@ import { Component, Input } from '@angular/core'; import { CoreCourseHelper } from '@features/course/services/course-helper'; import { CoreCouseTagItems } from '@features/course/services/handlers/course-tag-area'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that renders the course tag area. @@ -23,6 +24,10 @@ import { CoreCouseTagItems } from '@features/course/services/handlers/course-tag @Component({ selector: 'core-course-tag-area', templateUrl: 'core-course-tag-area.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCourseTagAreaComponent { diff --git a/src/core/features/course/components/unsupported-module/unsupported-module.ts b/src/core/features/course/components/unsupported-module/unsupported-module.ts index 8ed30c1da4a..a1cf874e9c0 100644 --- a/src/core/features/course/components/unsupported-module/unsupported-module.ts +++ b/src/core/features/course/components/unsupported-module/unsupported-module.ts @@ -16,6 +16,7 @@ import { Component, Input, OnInit } from '@angular/core'; import type { CoreCourseModuleData } from '@features/course/services/course-helper'; import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays info about an unsupported module. @@ -24,6 +25,10 @@ import { CoreCourseModuleDelegate } from '@features/course/services/module-deleg selector: 'core-course-unsupported-module', templateUrl: 'core-course-unsupported-module.html', styleUrl: 'unsupported-module.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCourseUnsupportedModuleComponent implements OnInit { diff --git a/src/core/features/course/course-contents-lazy.module.ts b/src/core/features/course/course-contents-lazy.module.ts index d64416bda57..03f4f16c4a6 100644 --- a/src/core/features/course/course-contents-lazy.module.ts +++ b/src/core/features/course/course-contents-lazy.module.ts @@ -15,11 +15,8 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; -import { CoreSharedModule } from '@/core/shared.module'; import { resolveContentsRoutes } from '@features/course/course-contents-routing.module'; import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; -import { CoreCourseFormatComponent } from './components/course-format/course-format'; /** * Build module routes. @@ -44,13 +41,5 @@ function buildRoutes(injector: Injector): Routes { providers: [ { provide: ROUTES, multi: true, useFactory: buildRoutes, deps: [Injector] }, ], - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - CoreCourseFormatComponent, - ], - declarations: [ - CoreCourseContentsPage, - ], }) export default class CoreCourseContentsLazyModule {} diff --git a/src/core/features/course/course-lazy.module.ts b/src/core/features/course/course-lazy.module.ts index 18426ba7e7d..cde9d8aee07 100644 --- a/src/core/features/course/course-lazy.module.ts +++ b/src/core/features/course/course-lazy.module.ts @@ -12,12 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { resolveIndexRoutes } from '@features/course/course-routing.module'; -import { CoreCourseSummaryPageModule } from '@features/course/pages/course-summary/course-summary.module'; import { CoreCourseIndexPage } from '@features/course/pages/index'; import { CoreCourseListModTypePage } from '@features/course/pages/list-mod-type/list-mod-type'; import { CoreCourseModulePreviewPage } from '@features/course/pages/module-preview/module-preview'; @@ -64,16 +61,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - declarations: [ - CoreCourseListModTypePage, - CoreCourseIndexPage, - CoreCourseModulePreviewPage, - ], - imports: [ - CoreSharedModule, - CoreCourseComponentsModule, - CoreCourseSummaryPageModule, - ], providers: [ { provide: ROUTES, diff --git a/src/core/features/course/course-summary-lazy.module.ts b/src/core/features/course/course-summary-lazy.module.ts index fc892150613..08850979677 100644 --- a/src/core/features/course/course-summary-lazy.module.ts +++ b/src/core/features/course/course-summary-lazy.module.ts @@ -15,10 +15,7 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreRemindersComponentsModule } from '@features/reminders/components/components.module'; -import { CoreCourseSummaryPage } from '@features/course/pages/course-summary/course-summary.page'; -import { CoreCourseSummaryPageModule } from '@features/course/pages/course-summary/course-summary.module'; +import { CoreCourseSummaryPage } from '@features/course/pages/course-summary/course-summary'; const routes: Routes = [ { @@ -30,9 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreRemindersComponentsModule, - CoreCourseSummaryPageModule, ], }) export default class CoreCourseSummaryLazyModule {} diff --git a/src/core/features/course/directives/directives.module.ts b/src/core/features/course/directives/directives.module.ts index ac12d9e9e07..28e9c13cc24 100644 --- a/src/core/features/course/directives/directives.module.ts +++ b/src/core/features/course/directives/directives.module.ts @@ -17,9 +17,7 @@ import { NgModule } from '@angular/core'; import { CoreCourseDownloadModuleMainFileDirective } from './download-module-main-file'; @NgModule({ - declarations: [ - CoreCourseDownloadModuleMainFileDirective, - ], + imports: [CoreCourseDownloadModuleMainFileDirective], exports: [ CoreCourseDownloadModuleMainFileDirective, ], diff --git a/src/core/features/course/directives/download-module-main-file.ts b/src/core/features/course/directives/download-module-main-file.ts index 9f241206919..98ea1d94b66 100644 --- a/src/core/features/course/directives/download-module-main-file.ts +++ b/src/core/features/course/directives/download-module-main-file.ts @@ -29,6 +29,7 @@ import { Translate } from '@singletons'; */ @Directive({ selector: '[core-course-download-module-main-file]', + standalone: true, }) export class CoreCourseDownloadModuleMainFileDirective implements OnInit { diff --git a/src/core/features/course/format/singleactivity/components/singleactivity.ts b/src/core/features/course/format/singleactivity/components/singleactivity.ts index 3d198a6134f..67df6cea8e9 100644 --- a/src/core/features/course/format/singleactivity/components/singleactivity.ts +++ b/src/core/features/course/format/singleactivity/components/singleactivity.ts @@ -31,6 +31,10 @@ import type { CoreCourseModuleMainActivityComponent } from '@features/course/cla selector: 'core-course-format-single-activity', templateUrl: 'core-course-format-single-activity.html', styleUrl: 'single-activity.scss', + standalone: true, + imports: [ + CoreDynamicComponent, + ], }) export class CoreCourseFormatSingleActivityComponent implements OnChanges { diff --git a/src/core/features/course/format/singleactivity/singleactivity.module.ts b/src/core/features/course/format/singleactivity/singleactivity.module.ts index 5060d7511e6..aa4b9efc5eb 100644 --- a/src/core/features/course/format/singleactivity/singleactivity.module.ts +++ b/src/core/features/course/format/singleactivity/singleactivity.module.ts @@ -14,20 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreCourseFormatDelegate } from '@features/course/services/format-delegate'; -import { CoreCourseFormatSingleActivityComponent } from './components/singleactivity'; import { CoreCourseFormatSingleActivityHandler } from './services/handlers/singleactivity-format'; -import { CoreBlockComponentsModule } from '@features/block/components/components.module'; @NgModule({ - declarations: [ - CoreCourseFormatSingleActivityComponent, - ], - imports: [ - CoreSharedModule, - CoreBlockComponentsModule, - ], providers: [ { provide: APP_INITIALIZER, @@ -37,8 +27,5 @@ import { CoreBlockComponentsModule } from '@features/block/components/components }, }, ], - exports: [ - CoreCourseFormatSingleActivityComponent, - ], }) export class CoreCourseFormatSingleActivityModule {} diff --git a/src/core/features/course/pages/contents/contents.ts b/src/core/features/course/pages/contents/contents.ts index df96634a444..ccdd6063062 100644 --- a/src/core/features/course/pages/contents/contents.ts +++ b/src/core/features/course/pages/contents/contents.ts @@ -49,6 +49,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreObject } from '@singletons/object'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the contents of a course. @@ -57,9 +58,14 @@ import { Translate } from '@singletons'; 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 { diff --git a/src/core/features/course/pages/course-summary/course-summary.module.ts b/src/core/features/course/pages/course-summary/course-summary.module.ts deleted file mode 100644 index c9c3f5fe964..00000000000 --- a/src/core/features/course/pages/course-summary/course-summary.module.ts +++ /dev/null @@ -1,29 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { CoreCourseSummaryPage } from '@features/course/pages/course-summary/course-summary.page'; -import { CoreRemindersComponentsModule } from '@features/reminders/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreRemindersComponentsModule, - ], - declarations: [ - CoreCourseSummaryPage, - ], -}) -export class CoreCourseSummaryPageModule {} diff --git a/src/core/features/course/pages/course-summary/course-summary.page.ts b/src/core/features/course/pages/course-summary/course-summary.ts similarity index 98% rename from src/core/features/course/pages/course-summary/course-summary.page.ts rename to src/core/features/course/pages/course-summary/course-summary.ts index f6e9ad9cbf2..812f93ec765 100644 --- a/src/core/features/course/pages/course-summary/course-summary.page.ts +++ b/src/core/features/course/pages/course-summary/course-summary.ts @@ -42,6 +42,8 @@ import { CoreEnrolDelegate } from '@features/enrol/services/enrol-delegate'; import { CoreEnrol, CoreEnrolEnrolmentMethod } from '@features/enrol/services/enrol'; import { CORE_COURSES_MY_COURSES_UPDATED_EVENT, CoreCoursesMyCoursesUpdatedEventAction } from '@features/courses/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreRemindersDateComponent } from '../../../reminders/components/date/date'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that shows the summary of a course including buttons to enrol and other available options. @@ -50,6 +52,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-course-summary', templateUrl: 'course-summary.html', styleUrl: 'course-summary.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreRemindersDateComponent, + ], }) export class CoreCourseSummaryPage implements OnInit, OnDestroy { diff --git a/src/core/features/course/pages/index/index.ts b/src/core/features/course/pages/index/index.ts index 6756f0ddc4f..aed927da953 100644 --- a/src/core/features/course/pages/index/index.ts +++ b/src/core/features/course/pages/index/index.ts @@ -31,6 +31,7 @@ import { CorePath } from '@singletons/path'; import { CoreSites } from '@services/sites'; import { CoreWait } from '@singletons/wait'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of courses the user is enrolled in. @@ -39,6 +40,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-course-index', templateUrl: 'index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCourseIndexPage implements OnInit, OnDestroy { diff --git a/src/core/features/course/pages/list-mod-type/list-mod-type.ts b/src/core/features/course/pages/list-mod-type/list-mod-type.ts index 5423ca8103d..c52e5aa8764 100644 --- a/src/core/features/course/pages/list-mod-type/list-mod-type.ts +++ b/src/core/features/course/pages/list-mod-type/list-mod-type.ts @@ -23,6 +23,8 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseModuleComponent } from '../../components/module/module'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays all modules of a certain type in a course. @@ -34,6 +36,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; --activity-border: 0px; --card-padding-bottom: 0px; }`, + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseModuleComponent, + ], }) export class CoreCourseListModTypePage implements OnInit { diff --git a/src/core/features/course/pages/module-preview/module-preview.ts b/src/core/features/course/pages/module-preview/module-preview.ts index a1dd9cd0417..447fb6f11fb 100644 --- a/src/core/features/course/pages/module-preview/module-preview.ts +++ b/src/core/features/course/pages/module-preview/module-preview.ts @@ -22,6 +22,10 @@ import { CoreNavigator } from '@services/navigator'; import { CoreSites } from '@services/sites'; import { CoreUtils } from '@singletons/utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCourseModuleNavigationComponent } from '../../components/module-navigation/module-navigation'; +import { CoreCourseUnsupportedModuleComponent } from '../../components/unsupported-module/unsupported-module'; +import { CoreCourseModuleInfoComponent } from '../../components/module-info/module-info'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a module preview. @@ -30,6 +34,13 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-course-module-preview', templateUrl: 'module-preview.html', styleUrl: 'module-preview.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseModuleInfoComponent, + CoreCourseUnsupportedModuleComponent, + CoreCourseModuleNavigationComponent, + ], }) export class CoreCourseModulePreviewPage implements OnInit { diff --git a/src/core/features/course/services/course-helper.ts b/src/core/features/course/services/course-helper.ts index ef654c88c59..21a6b6cd482 100644 --- a/src/core/features/course/services/course-helper.ts +++ b/src/core/features/course/services/course-helper.ts @@ -1981,7 +1981,7 @@ export class CoreCourseHelperProvider { * @param course Course selected */ async openCourseSummary(course: CoreCourseWithImageAndColor & CoreCourseAnyCourseData): Promise { - const { CoreCourseSummaryPage } = await import('../pages/course-summary/course-summary.page'); + const { CoreCourseSummaryPage } = await import('../pages/course-summary/course-summary'); CoreModals.openSideModal({ component: CoreCourseSummaryPage, diff --git a/src/core/features/courses/components/components.module.ts b/src/core/features/courses/components/components.module.ts index 244944b301a..b68684ff297 100644 --- a/src/core/features/courses/components/components.module.ts +++ b/src/core/features/courses/components/components.module.ts @@ -14,15 +14,11 @@ import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreCoursesCourseListItemComponent } from './course-list-item/course-list-item'; @NgModule({ - declarations: [ - CoreCoursesCourseListItemComponent, - ], imports: [ - CoreSharedModule, + CoreCoursesCourseListItemComponent, ], exports: [ CoreCoursesCourseListItemComponent, diff --git a/src/core/features/courses/components/course-list-item/course-list-item.ts b/src/core/features/courses/components/course-list-item/course-list-item.ts index 587bc30c2b2..8989cd51149 100644 --- a/src/core/features/courses/components/course-list-item/course-list-item.ts +++ b/src/core/features/courses/components/course-list-item/course-list-item.ts @@ -38,6 +38,7 @@ import { import { CORE_COURSE_ALL_COURSES_CLEARED, CORE_COURSE_PROGRESS_UPDATED_EVENT } from '@features/course/constants'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreErrorHelper } from '@services/error-helper'; +import { CoreSharedModule } from '@/core/shared.module'; /** * This directive is meant to display an item for a list of courses. @@ -50,6 +51,10 @@ import { CoreErrorHelper } from '@services/error-helper'; selector: 'core-courses-course-list-item', templateUrl: 'core-courses-course-list-item.html', styleUrl: 'course-list-item.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreCoursesCourseListItemComponent implements OnInit, OnDestroy, OnChanges { diff --git a/src/core/features/courses/courses-dashboard-lazy.module.ts b/src/core/features/courses/courses-dashboard-lazy.module.ts index d9dccedabad..70aa63fb435 100644 --- a/src/core/features/courses/courses-dashboard-lazy.module.ts +++ b/src/core/features/courses/courses-dashboard-lazy.module.ts @@ -15,8 +15,6 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreBlockComponentsModule } from '@features/block/components/components.module'; import { CoreCoursesDashboardPage } from '@features/courses/pages/dashboard/dashboard'; const routes: Routes = [ @@ -29,11 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreBlockComponentsModule, - ], - declarations: [ - CoreCoursesDashboardPage, ], }) export default class CoreCoursesDashboardLazyModule {} diff --git a/src/core/features/courses/courses-lazy.module.ts b/src/core/features/courses/courses-lazy.module.ts index a179c752616..9cbab3e514a 100644 --- a/src/core/features/courses/courses-lazy.module.ts +++ b/src/core/features/courses/courses-lazy.module.ts @@ -12,15 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreCoursesComponentsModule } from '@features/courses/components/components.module'; import { CoreCoursesCategoriesPage } from '@features/courses/pages/categories/categories'; import { CoreCoursesListPage } from '@features/courses/pages/list/list'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; import { CoreCoursesHelper } from './services/courses-helper'; import { CoreCoursesMyCoursesMainMenuHandlerService } from './services/handlers/my-courses-mainmenu'; @@ -60,16 +56,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - CoreCoursesComponentsModule, - CoreMainMenuComponentsModule, - CoreSearchComponentsModule, - ], - declarations: [ - CoreCoursesCategoriesPage, - CoreCoursesListPage, - ], providers: [ { provide: ROUTES, diff --git a/src/core/features/courses/courses-my-lazy.module.ts b/src/core/features/courses/courses-my-lazy.module.ts index ba5789efb34..598e8517c6e 100644 --- a/src/core/features/courses/courses-my-lazy.module.ts +++ b/src/core/features/courses/courses-my-lazy.module.ts @@ -15,12 +15,7 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreBlockComponentsModule } from '@features/block/components/components.module'; - -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { CoreCoursesMyPage } from '@features/courses/pages/my/my'; -import { CoreSiteLogoComponent } from '@/core/components/site-logo/site-logo'; const routes: Routes = [ { @@ -32,13 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreBlockComponentsModule, - CoreMainMenuComponentsModule, - CoreSiteLogoComponent, - ], - declarations: [ - CoreCoursesMyPage, ], }) export default class CoreCoursesMyLazyModule {} diff --git a/src/core/features/courses/pages/categories/categories.ts b/src/core/features/courses/pages/categories/categories.ts index 225077261d1..c75f07b3ecf 100644 --- a/src/core/features/courses/pages/categories/categories.ts +++ b/src/core/features/courses/pages/categories/categories.ts @@ -27,6 +27,8 @@ import { CORE_COURSES_DASHBOARD_DOWNLOAD_ENABLED_CHANGED_EVENT, } from '@features/courses/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCoursesCourseListItemComponent } from '../../components/course-list-item/course-list-item'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a list of categories and the courses in the current category if any. @@ -34,6 +36,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-courses-categories', templateUrl: 'categories.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreCoursesCourseListItemComponent, + ], }) export class CoreCoursesCategoriesPage implements OnInit, OnDestroy { diff --git a/src/core/features/courses/pages/dashboard/dashboard.ts b/src/core/features/courses/pages/dashboard/dashboard.ts index 9d93e2d6123..c3def2bbb40 100644 --- a/src/core/features/courses/pages/dashboard/dashboard.ts +++ b/src/core/features/courses/pages/dashboard/dashboard.ts @@ -27,6 +27,8 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { Translate } from '@singletons'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreBlockSideBlocksButtonComponent } from '../../../block/components/side-blocks-button/side-blocks-button'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the dashboard page. @@ -34,6 +36,12 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-courses-dashboard', templateUrl: 'dashboard.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreBlockComponent, + CoreBlockSideBlocksButtonComponent, + ], }) export class CoreCoursesDashboardPage implements OnInit, OnDestroy { diff --git a/src/core/features/courses/pages/list/list.ts b/src/core/features/courses/pages/list/list.ts index b4bd5ea088c..ea3bf8c44db 100644 --- a/src/core/features/courses/pages/list/list.ts +++ b/src/core/features/courses/pages/list/list.ts @@ -27,6 +27,10 @@ import { CORE_COURSES_DASHBOARD_DOWNLOAD_ENABLED_CHANGED_EVENT, } from '@features/courses/constants'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreCoursesCourseListItemComponent } from '../../components/course-list-item/course-list-item'; +import { CoreSearchBoxComponent } from '../../../search/components/search-box/search-box'; +import { CoreMainMenuUserButtonComponent } from '../../../mainmenu/components/user-menu-button/user-menu-button'; +import { CoreSharedModule } from '@/core/shared.module'; type CoreCoursesListMode = 'search' | 'all' | 'my'; @@ -36,6 +40,13 @@ type CoreCoursesListMode = 'search' | 'all' | 'my'; @Component({ selector: 'page-core-courses-list', templateUrl: 'list.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuUserButtonComponent, + CoreSearchBoxComponent, + CoreCoursesCourseListItemComponent, + ], }) export class CoreCoursesListPage implements OnInit, OnDestroy { diff --git a/src/core/features/courses/pages/my/my.ts b/src/core/features/courses/pages/my/my.ts index 928206429f6..effd343da3e 100644 --- a/src/core/features/courses/pages/my/my.ts +++ b/src/core/features/courses/pages/my/my.ts @@ -31,6 +31,10 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { Translate } from '@singletons'; import { CoreWait } from '@singletons/wait'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreSiteLogoComponent } from '../../../../components/site-logo/site-logo'; +import { CoreMainMenuUserButtonComponent } from '../../../mainmenu/components/user-menu-button/user-menu-button'; +import { CoreBlockSideBlocksButtonComponent } from '../../../block/components/side-blocks-button/side-blocks-button'; /** * Page that shows a my courses. @@ -40,9 +44,17 @@ import { CoreAlerts } from '@services/overlays/alerts'; templateUrl: 'my.html', styleUrl: 'my.scss', providers: [{ - provide: PageLoadsManager, - useClass: PageLoadsManager, - }], + provide: PageLoadsManager, + useClass: PageLoadsManager, + }], + standalone: true, + imports: [ + CoreSharedModule, + CoreSiteLogoComponent, + CoreMainMenuUserButtonComponent, + CoreBlockComponent, + CoreBlockSideBlocksButtonComponent, +], }) export class CoreCoursesMyPage implements OnInit, OnDestroy, AsyncDirective { diff --git a/src/core/features/dataprivacy/dataprivacy-lazy.module.ts b/src/core/features/dataprivacy/dataprivacy-lazy.module.ts index 18e5bc91f85..834e5a51093 100644 --- a/src/core/features/dataprivacy/dataprivacy-lazy.module.ts +++ b/src/core/features/dataprivacy/dataprivacy-lazy.module.ts @@ -15,7 +15,6 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreDataPrivacyMainPage } from './pages/main/main'; const routes: Routes = [ @@ -29,10 +28,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - ], - declarations: [ - CoreDataPrivacyMainPage, ], }) export default class CoreDataPrivacyLazyModule {} diff --git a/src/core/features/dataprivacy/pages/main/main.ts b/src/core/features/dataprivacy/pages/main/main.ts index cc45d4b7718..45e4cb2b727 100644 --- a/src/core/features/dataprivacy/pages/main/main.ts +++ b/src/core/features/dataprivacy/pages/main/main.ts @@ -27,6 +27,7 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { Translate } from '@singletons'; import { Subscription } from 'rxjs'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page to display the main data privacy page. @@ -35,6 +36,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-data-privacy-main', templateUrl: 'main.html', styleUrl: 'main.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreDataPrivacyMainPage implements OnInit { diff --git a/src/core/features/editor/components/components.module.ts b/src/core/features/editor/components/components.module.ts index b5e3bfb65d0..6f402af0b53 100644 --- a/src/core/features/editor/components/components.module.ts +++ b/src/core/features/editor/components/components.module.ts @@ -12,21 +12,16 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { NgModule } from '@angular/core'; import { CoreEditorRichTextEditorComponent } from './rich-text-editor/rich-text-editor'; -import { CoreSharedModule } from '@/core/shared.module'; @NgModule({ - declarations: [ - CoreEditorRichTextEditorComponent, - ], imports: [ - CoreSharedModule, + CoreEditorRichTextEditorComponent, ], exports: [ CoreEditorRichTextEditorComponent, ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class CoreEditorComponentsModule {} diff --git a/src/core/features/editor/components/rich-text-editor/rich-text-editor.ts b/src/core/features/editor/components/rich-text-editor/rich-text-editor.ts index 516bdc18c6a..a62cee6de0e 100644 --- a/src/core/features/editor/components/rich-text-editor/rich-text-editor.ts +++ b/src/core/features/editor/components/rich-text-editor/rich-text-editor.ts @@ -23,6 +23,7 @@ import { OnDestroy, Optional, AfterViewInit, + CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core'; import { FormControl } from '@angular/forms'; import { IonTextarea, IonContent } from '@ionic/angular'; @@ -48,6 +49,7 @@ import { CoreSwiper } from '@singletons/swiper'; import { CoreWait } from '@singletons/wait'; import { toBoolean } from '@/core/transforms/boolean'; import { CoreQRScan } from '@services/qrscan'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to display a rich text editor if enabled. @@ -61,6 +63,11 @@ import { CoreQRScan } from '@services/qrscan'; selector: 'core-rich-text-editor', templateUrl: 'core-editor-rich-text-editor.html', styleUrl: 'rich-text-editor.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class CoreEditorRichTextEditorComponent implements OnInit, AfterViewInit, OnDestroy { diff --git a/src/core/features/editor/editor.module.ts b/src/core/features/editor/editor.module.ts index d6717c388bf..bbf3213c57c 100644 --- a/src/core/features/editor/editor.module.ts +++ b/src/core/features/editor/editor.module.ts @@ -15,7 +15,6 @@ import { NgModule, Type } from '@angular/core'; import { CORE_SITE_SCHEMAS } from '@services/sites'; -import { CoreEditorComponentsModule } from './components/components.module'; import { SITE_SCHEMA } from './services/database/editor'; /** @@ -32,9 +31,6 @@ export async function getEditorServices(): Promise[]> { } @NgModule({ - imports: [ - CoreEditorComponentsModule, - ], providers: [ { provide: CORE_SITE_SCHEMAS, diff --git a/src/core/features/emulator/components/capture-media/capture-media.ts b/src/core/features/emulator/components/capture-media/capture-media.ts index fdc9c7cc59b..c3724969521 100644 --- a/src/core/features/emulator/components/capture-media/capture-media.ts +++ b/src/core/features/emulator/components/capture-media/capture-media.ts @@ -26,6 +26,7 @@ import { CorePath } from '@singletons/path'; import { toBoolean } from '@/core/transforms/boolean'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page to capture media in browser. @@ -34,6 +35,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'core-emulator-capture-media', templateUrl: 'capture-media.html', styleUrl: 'capture-media.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreEmulatorCaptureMediaComponent implements OnInit, OnDestroy { diff --git a/src/core/features/emulator/components/components.module.ts b/src/core/features/emulator/components/components.module.ts index dfa05448719..d7b4e174df2 100644 --- a/src/core/features/emulator/components/components.module.ts +++ b/src/core/features/emulator/components/components.module.ts @@ -14,15 +14,11 @@ import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreEmulatorCaptureMediaComponent } from './capture-media/capture-media'; @NgModule({ - declarations: [ - CoreEmulatorCaptureMediaComponent, - ], imports: [ - CoreSharedModule, + CoreEmulatorCaptureMediaComponent, ], exports: [ CoreEmulatorCaptureMediaComponent, diff --git a/src/core/features/grades/grades-course-lazy.module.ts b/src/core/features/grades/grades-course-lazy.module.ts index c3ccc8947e2..86cf6ece81b 100644 --- a/src/core/features/grades/grades-course-lazy.module.ts +++ b/src/core/features/grades/grades-course-lazy.module.ts @@ -15,8 +15,7 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreGradesCoursePage } from './pages/course/course.page'; -import { CoreGradesCoursePageModule } from './pages/course/course.module'; +import { CoreGradesCoursePage } from './pages/course/course'; const routes: Routes = [ { @@ -28,7 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreGradesCoursePageModule, ], }) export default class CoreGradesCourseLazyModule {} diff --git a/src/core/features/grades/grades-course-participants-lazy.module.ts b/src/core/features/grades/grades-course-participants-lazy.module.ts index a9e1abce51d..b06c860ffdf 100644 --- a/src/core/features/grades/grades-course-participants-lazy.module.ts +++ b/src/core/features/grades/grades-course-participants-lazy.module.ts @@ -16,8 +16,7 @@ import { conditionalRoutes } from '@/app/app-routing.module'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreUserParticipantsPageModule } from '@features/user/pages/participants/participants.module'; -import { CoreUserParticipantsPage } from '@features/user/pages/participants/participants.page'; +import { CoreUserParticipantsPage } from '@features/user/pages/participants/participants'; import { CoreScreen } from '@services/screen'; const routes: Routes = [ @@ -37,7 +36,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreUserParticipantsPageModule, ], }) export default class CoreGradesCourseParticipantsLazyModule {} diff --git a/src/core/features/grades/grades-courses-lazy.module.ts b/src/core/features/grades/grades-courses-lazy.module.ts index 821e5546f7c..e959604fdc6 100644 --- a/src/core/features/grades/grades-courses-lazy.module.ts +++ b/src/core/features/grades/grades-courses-lazy.module.ts @@ -17,10 +17,8 @@ import { RouterModule, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreGradesCoursePage } from './pages/course/course.page'; -import { CoreGradesCoursePageModule } from './pages/course/course.module'; +import { CoreGradesCoursePage } from './pages/course/course'; import { CoreGradesCoursesPage } from './pages/courses/courses'; const mobileRoutes: Routes = [ @@ -55,11 +53,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreGradesCoursePageModule, - ], - declarations: [ - CoreGradesCoursesPage, ], }) export default class CoreGradesCoursesLazyModule {} diff --git a/src/core/features/grades/pages/course/course.module.ts b/src/core/features/grades/pages/course/course.module.ts deleted file mode 100644 index 356010f2a81..00000000000 --- a/src/core/features/grades/pages/course/course.module.ts +++ /dev/null @@ -1,29 +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 { CoreSharedModule } from '@/core/shared.module'; - -import { CoreGradesCoursePage } from './course.page'; - -@NgModule({ - imports: [ - CoreSharedModule, - ], - declarations: [ - CoreGradesCoursePage, - ], -}) -export class CoreGradesCoursePageModule {} diff --git a/src/core/features/grades/pages/course/course.page.ts b/src/core/features/grades/pages/course/course.ts similarity index 98% rename from src/core/features/grades/pages/course/course.page.ts rename to src/core/features/grades/pages/course/course.ts index 4ce53a13746..38702085fd2 100644 --- a/src/core/features/grades/pages/course/course.page.ts +++ b/src/core/features/grades/pages/course/course.ts @@ -35,6 +35,7 @@ import { CoreDom } from '@singletons/dom'; import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a course grades. @@ -43,6 +44,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-grades-course', templateUrl: 'course.html', styleUrl: 'course.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreGradesCoursePage implements AfterViewInit, OnDestroy { diff --git a/src/core/features/grades/pages/courses/courses.ts b/src/core/features/grades/pages/courses/courses.ts index 93fca1cd8a6..5e4d7dccba1 100644 --- a/src/core/features/grades/pages/courses/courses.ts +++ b/src/core/features/grades/pages/courses/courses.ts @@ -24,6 +24,7 @@ import { CoreSites } from '@services/sites'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { Translate } from '@singletons'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays courses grades (main menu option). @@ -31,6 +32,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-grades-courses', templateUrl: 'courses.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreGradesCoursesPage implements OnDestroy, AfterViewInit { diff --git a/src/core/features/h5p/components/components.module.ts b/src/core/features/h5p/components/components.module.ts deleted file mode 100644 index 8e806fce4af..00000000000 --- a/src/core/features/h5p/components/components.module.ts +++ /dev/null @@ -1,34 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreH5PPlayerComponent } from './h5p-player/h5p-player'; -import { CoreH5PIframeComponent } from './h5p-iframe/h5p-iframe'; - -@NgModule({ - declarations: [ - CoreH5PPlayerComponent, - CoreH5PIframeComponent, - ], - imports: [ - CoreSharedModule, - ], - exports: [ - CoreH5PPlayerComponent, - CoreH5PIframeComponent, - ], -}) -export class CoreH5PComponentsModule {} diff --git a/src/core/features/h5p/components/h5p-iframe/h5p-iframe.ts b/src/core/features/h5p/components/h5p-iframe/h5p-iframe.ts index f97283bb2d6..03a6c945d22 100644 --- a/src/core/features/h5p/components/h5p-iframe/h5p-iframe.ts +++ b/src/core/features/h5p/components/h5p-iframe/h5p-iframe.ts @@ -31,6 +31,7 @@ import { CoreH5PHelper } from '../../classes/helper'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { toBoolean } from '@/core/transforms/boolean'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render an iframe with an H5P package. @@ -38,6 +39,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'core-h5p-iframe', templateUrl: 'core-h5p-iframe.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreH5PIframeComponent implements OnChanges, OnDestroy { diff --git a/src/core/features/h5p/components/h5p-player/h5p-player.ts b/src/core/features/h5p/components/h5p-player/h5p-player.ts index 3f911582025..eae3b2e5d22 100644 --- a/src/core/features/h5p/components/h5p-player/h5p-player.ts +++ b/src/core/features/h5p/components/h5p-player/h5p-player.ts @@ -29,6 +29,8 @@ import { BehaviorSubject } from 'rxjs'; import { CoreErrorHelper } from '@services/error-helper'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreH5PIframeComponent } from '../h5p-iframe/h5p-iframe'; /** * Component to render an H5P package. @@ -37,6 +39,11 @@ import { Translate } from '@singletons'; selector: 'core-h5p-player', templateUrl: 'core-h5p-player.html', styleUrl: 'h5p-player.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreH5PIframeComponent, + ], }) export class CoreH5PPlayerComponent implements OnInit, OnChanges, OnDestroy { diff --git a/src/core/features/h5p/h5p.module.ts b/src/core/features/h5p/h5p.module.ts index 1ce0f31a259..479aa2375aa 100644 --- a/src/core/features/h5p/h5p.module.ts +++ b/src/core/features/h5p/h5p.module.ts @@ -16,7 +16,6 @@ import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; import { CorePluginFileDelegate } from '@services/plugin-file-delegate'; import { CORE_SITE_SCHEMAS } from '@services/sites'; -import { CoreH5PComponentsModule } from './components/components.module'; import { SITE_SCHEMA } from './services/database/h5p'; import { CoreH5PPluginFileHandler } from './services/handlers/pluginfile'; @@ -34,9 +33,6 @@ export async function getH5PServices(): Promise[]> { } @NgModule({ - imports: [ - CoreH5PComponentsModule, - ], providers: [ { provide: CORE_SITE_SCHEMAS, diff --git a/src/core/features/login/components/components.module.ts b/src/core/features/login/components/components.module.ts deleted file mode 100644 index be46f2bfde7..00000000000 --- a/src/core/features/login/components/components.module.ts +++ /dev/null @@ -1,35 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreLoginMethodsComponent } from './login-methods/login-methods'; -import { CoreLoginExceededAttemptsComponent } from '@features/login/components/exceeded-attempts/exceeded-attempts'; -import { CoreLoginIdentityProviderComponent } from './identity-provider/identity-provider'; - -@NgModule({ - declarations: [ - CoreLoginExceededAttemptsComponent, - CoreLoginMethodsComponent, - ], - imports: [ - CoreSharedModule, - CoreLoginIdentityProviderComponent, - ], - exports: [ - CoreLoginExceededAttemptsComponent, - CoreLoginMethodsComponent, - ], -}) -export class CoreLoginComponentsModule {} diff --git a/src/core/features/login/components/exceeded-attempts/exceeded-attempts.ts b/src/core/features/login/components/exceeded-attempts/exceeded-attempts.ts index 98bf6b9009c..50d5ee60ded 100644 --- a/src/core/features/login/components/exceeded-attempts/exceeded-attempts.ts +++ b/src/core/features/login/components/exceeded-attempts/exceeded-attempts.ts @@ -15,11 +15,16 @@ import { Component, Input, OnInit } from '@angular/core'; import { CoreUserSupportConfig } from '@features/user/classes/support/support-config'; import { CoreUserSupport } from '@features/user/services/support'; +import { CoreSharedModule } from '@/core/shared.module'; @Component({ selector: 'core-login-exceeded-attempts', templateUrl: 'exceeded-attempts.html', styleUrl: './exceeded-attempts.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreLoginExceededAttemptsComponent implements OnInit { diff --git a/src/core/features/login/components/login-methods/login-methods.ts b/src/core/features/login/components/login-methods/login-methods.ts index 6805ded7c08..ff57df388f1 100644 --- a/src/core/features/login/components/login-methods/login-methods.ts +++ b/src/core/features/login/components/login-methods/login-methods.ts @@ -19,11 +19,18 @@ import { CoreSiteIdentityProvider, CoreSitePublicConfigResponse } from '@classes import { CoreLoginHelper, CoreLoginMethod } from '@features/login/services/login-helper'; import { CoreRedirectPayload } from '@services/navigator'; import { CoreSitesFactory } from '@services/sites-factory'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreLoginIdentityProviderComponent } from '../identity-provider/identity-provider'; @Component({ selector: 'core-login-methods', templateUrl: 'login-methods.html', styleUrl: '../../login.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreLoginIdentityProviderComponent, +], }) export class CoreLoginMethodsComponent implements OnInit { diff --git a/src/core/features/login/login-credentials-lazy.module.ts b/src/core/features/login/login-credentials-lazy.module.ts index 0ecf235e4eb..15032b1e5c5 100644 --- a/src/core/features/login/login-credentials-lazy.module.ts +++ b/src/core/features/login/login-credentials-lazy.module.ts @@ -15,10 +15,7 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreLoginComponentsModule } from '@features/login/components/components.module'; import { CoreLoginCredentialsPage } from '@features/login/pages/credentials/credentials'; -import { CoreSiteLogoComponent } from '@/core/components/site-logo/site-logo'; const routes: Routes = [ { @@ -30,12 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreLoginComponentsModule, - CoreSiteLogoComponent, - ], - declarations: [ - CoreLoginCredentialsPage, ], }) export default class CoreLoginCredentialsLazyModule {} diff --git a/src/core/features/login/login-lazy.module.ts b/src/core/features/login/login-lazy.module.ts index ff6f82bcfe1..668f01731c5 100644 --- a/src/core/features/login/login-lazy.module.ts +++ b/src/core/features/login/login-lazy.module.ts @@ -15,12 +15,9 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; import { hasSitesGuard } from './guards/has-sites'; -import { CoreLoginComponentsModule } from './components/components.module'; import { CoreLoginHelper } from './services/login-helper'; import { CoreLoginForgottenPasswordPage } from '@features/login/pages/forgotten-password/forgotten-password'; -import { CoreUserComponentsModule } from '@features/user/components/components.module'; import { CoreLoginEmailSignupPage } from '@features/login/pages/email-signup/email-signup'; import { CoreLoginSitePage } from '@features/login/pages/site/site'; import { CoreLoginSitesPage } from '@features/login/pages/sites/sites'; @@ -65,17 +62,7 @@ const routes: Routes = [ @NgModule({ imports: [ - CoreSharedModule, - CoreLoginComponentsModule, - CoreUserComponentsModule, RouterModule.forChild(routes), ], - declarations: [ - CoreLoginForgottenPasswordPage, - CoreLoginSitePage, - CoreLoginSitesPage, - CoreLoginChangePasswordPage, - CoreLoginEmailSignupPage, - ], }) export default class CoreLoginLazyModule {} diff --git a/src/core/features/login/login-reconnect-lazy.module.ts b/src/core/features/login/login-reconnect-lazy.module.ts index 1d02a530e76..e51d8b6b0ba 100644 --- a/src/core/features/login/login-reconnect-lazy.module.ts +++ b/src/core/features/login/login-reconnect-lazy.module.ts @@ -15,11 +15,7 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreLoginComponentsModule } from '@features/login/components/components.module'; import { CoreLoginReconnectPage } from '@features/login/pages/reconnect/reconnect'; -import { CoreSiteLogoComponent } from '@/core/components/site-logo/site-logo'; -import { CoreLoginIdentityProviderComponent } from './components/identity-provider/identity-provider'; const routes: Routes = [ { @@ -31,13 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreLoginComponentsModule, - CoreSiteLogoComponent, - CoreLoginIdentityProviderComponent, - ], - declarations: [ - CoreLoginReconnectPage, ], }) export default class CoreLoginReconnectLazyModule {} diff --git a/src/core/features/login/pages/change-password/change-password.ts b/src/core/features/login/pages/change-password/change-password.ts index 97e759f1ebb..51fba73d45f 100644 --- a/src/core/features/login/pages/change-password/change-password.ts +++ b/src/core/features/login/pages/change-password/change-password.ts @@ -21,6 +21,7 @@ import { CoreNavigator } from '@services/navigator'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreUserSupport } from '@features/user/services/support'; import { CoreOpener } from '@singletons/opener'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that shows instructions to change the password. @@ -28,6 +29,10 @@ import { CoreOpener } from '@singletons/opener'; @Component({ selector: 'page-core-login-change-password', templateUrl: 'change-password.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreLoginChangePasswordPage implements OnDestroy { diff --git a/src/core/features/login/pages/credentials/credentials.ts b/src/core/features/login/pages/credentials/credentials.ts index d31a4b71e32..6f367a41d30 100644 --- a/src/core/features/login/pages/credentials/credentials.ts +++ b/src/core/features/login/pages/credentials/credentials.ts @@ -42,6 +42,10 @@ import { CoreSiteError } from '@classes/errors/siteerror'; import { CoreKeyboard } from '@singletons/keyboard'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreLoginMethodsComponent } from '../../components/login-methods/login-methods'; +import { CoreLoginExceededAttemptsComponent } from '../../components/exceeded-attempts/exceeded-attempts'; +import { CoreSiteLogoComponent } from '../../../../components/site-logo/site-logo'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page to enter the user credentials. @@ -50,6 +54,13 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-login-credentials', templateUrl: 'credentials.html', styleUrl: '../../login.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreSiteLogoComponent, + CoreLoginExceededAttemptsComponent, + CoreLoginMethodsComponent, + ], }) export class CoreLoginCredentialsPage implements OnInit, OnDestroy { diff --git a/src/core/features/login/pages/email-signup/email-signup.ts b/src/core/features/login/pages/email-signup/email-signup.ts index 2d10e6c6891..3a214837f84 100644 --- a/src/core/features/login/pages/email-signup/email-signup.ts +++ b/src/core/features/login/pages/email-signup/email-signup.ts @@ -39,6 +39,8 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreOpener } from '@singletons/opener'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreUserProfileFieldComponent } from '@features/user/components/user-profile-field/user-profile-field'; /** * Page to signup using email. @@ -47,6 +49,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-login-email-signup', templateUrl: 'email-signup.html', styleUrl: '../../login.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreUserProfileFieldComponent, +], }) export class CoreLoginEmailSignupPage implements OnInit { diff --git a/src/core/features/login/pages/forgotten-password/forgotten-password.ts b/src/core/features/login/pages/forgotten-password/forgotten-password.ts index bf8cfb23126..be7df5e0deb 100644 --- a/src/core/features/login/pages/forgotten-password/forgotten-password.ts +++ b/src/core/features/login/pages/forgotten-password/forgotten-password.ts @@ -25,6 +25,8 @@ import { CoreUserGuestSupportConfig } from '@features/user/classes/support/guest import { CoreSitesFactory } from '@services/sites-factory'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreLoginExceededAttemptsComponent } from '../../components/exceeded-attempts/exceeded-attempts'; /** * Page to recover a forgotten password. @@ -32,6 +34,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-login-forgotten-password', templateUrl: 'forgotten-password.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreLoginExceededAttemptsComponent, + ], }) export class CoreLoginForgottenPasswordPage implements OnInit { diff --git a/src/core/features/login/pages/reconnect/reconnect.ts b/src/core/features/login/pages/reconnect/reconnect.ts index a1c813902a5..d1c0298e8e8 100644 --- a/src/core/features/login/pages/reconnect/reconnect.ts +++ b/src/core/features/login/pages/reconnect/reconnect.ts @@ -35,6 +35,10 @@ import { CoreKeyboard } from '@singletons/keyboard'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreLoginMethodsComponent, CoreLoginMethodsCurrentLogin } from '@features/login/components/login-methods/login-methods'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreSiteLogoComponent } from '../../../../components/site-logo/site-logo'; +import { CoreLoginExceededAttemptsComponent } from '../../components/exceeded-attempts/exceeded-attempts'; +import { CoreLoginIdentityProviderComponent } from '../../components/identity-provider/identity-provider'; /** * Page to enter the user password to reconnect to a site. @@ -43,6 +47,14 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-login-reconnect', templateUrl: 'reconnect.html', styleUrl: '../../login.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreSiteLogoComponent, + CoreLoginExceededAttemptsComponent, + CoreLoginIdentityProviderComponent, + CoreLoginMethodsComponent, + ], }) export class CoreLoginReconnectPage implements OnInit, OnDestroy { diff --git a/src/core/features/login/pages/site/site.ts b/src/core/features/login/pages/site/site.ts index 4e10b49e678..03026840335 100644 --- a/src/core/features/login/pages/site/site.ts +++ b/src/core/features/login/pages/site/site.ts @@ -51,6 +51,7 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreCountries } from '@singletons/countries'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Site (url) chooser when adding a new site. @@ -59,6 +60,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-login-site', templateUrl: 'site.html', styleUrls: ['site.scss', '../../login.scss'], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreLoginSitePage implements OnInit { diff --git a/src/core/features/login/pages/sites/sites.ts b/src/core/features/login/pages/sites/sites.ts index 98ff6c306b9..0ee7470af21 100644 --- a/src/core/features/login/pages/sites/sites.ts +++ b/src/core/features/login/pages/sites/sites.ts @@ -21,6 +21,7 @@ import { CoreAnimations } from '@components/animations'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of sites stored in the device. @@ -29,6 +30,10 @@ import { Translate } from '@singletons'; selector: 'page-core-login-sites', templateUrl: 'sites.html', animations: [CoreAnimations.SLIDE_IN_OUT, CoreAnimations.SHOW_HIDE], + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreLoginSitesPage implements OnInit { diff --git a/src/core/features/login/tests/credentials.test.ts b/src/core/features/login/tests/credentials.test.ts index 3e8d83fbdd7..3e18eb709f1 100644 --- a/src/core/features/login/tests/credentials.test.ts +++ b/src/core/features/login/tests/credentials.test.ts @@ -15,7 +15,6 @@ import { CoreSharedModule } from '@/core/shared.module'; import { findElement, mock, mockSingleton, renderPageComponent, requireElement } from '@/testing/utils'; import { CoreLoginError } from '@classes/errors/loginerror'; -import { CoreLoginComponentsModule } from '@features/login/components/components.module'; import { CoreLoginCredentialsPage } from '@features/login/pages/credentials/credentials'; import { CoreLang } from '@services/lang'; import { CoreSites } from '@services/sites'; @@ -23,6 +22,9 @@ import { Http } from '@singletons'; import { of } from 'rxjs'; import { CoreLoginHelper } from '../services/login-helper'; import { CoreConstants } from '@/core/constants'; +import { CoreSiteLogoComponent } from '@components/site-logo/site-logo'; +import { CoreLoginExceededAttemptsComponent } from '../components/exceeded-attempts/exceeded-attempts'; +import { CoreLoginMethodsComponent } from '../components/login-methods/login-methods'; describe('Credentials page', () => { @@ -86,7 +88,9 @@ describe('Credentials page', () => { routeParams: { siteUrl }, imports: [ CoreSharedModule, - CoreLoginComponentsModule, + CoreSiteLogoComponent, + CoreLoginExceededAttemptsComponent, + CoreLoginMethodsComponent, ], }); @@ -137,7 +141,12 @@ describe('Credentials page', () => { const fixture = await renderPageComponent(CoreLoginCredentialsPage, { routeParams: { siteUrl, siteCheck }, - imports: [CoreSharedModule, CoreLoginComponentsModule], + imports: [ + CoreSharedModule, + CoreSiteLogoComponent, + CoreLoginExceededAttemptsComponent, + CoreLoginMethodsComponent, + ], }); // Act. diff --git a/src/core/features/mainmenu/components/components.module.ts b/src/core/features/mainmenu/components/components.module.ts deleted file mode 100644 index 763cbd86ad2..00000000000 --- a/src/core/features/mainmenu/components/components.module.ts +++ /dev/null @@ -1,35 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreMainMenuUserButtonComponent } from './user-menu-button/user-menu-button'; -import { CoreLoginComponentsModule } from '@features/login/components/components.module'; -import { CoreMainMenuUserMenuTourComponent } from './user-menu-tour/user-menu-tour'; - -@NgModule({ - declarations: [ - CoreMainMenuUserButtonComponent, - CoreMainMenuUserMenuTourComponent, - ], - imports: [ - CoreSharedModule, - CoreLoginComponentsModule, - ], - exports: [ - CoreMainMenuUserButtonComponent, - CoreMainMenuUserMenuTourComponent, - ], -}) -export class CoreMainMenuComponentsModule {} diff --git a/src/core/features/mainmenu/components/user-menu-button/user-menu-button.ts b/src/core/features/mainmenu/components/user-menu-button/user-menu-button.ts index 1216fa17fa1..7d384989354 100644 --- a/src/core/features/mainmenu/components/user-menu-button/user-menu-button.ts +++ b/src/core/features/mainmenu/components/user-menu-button/user-menu-button.ts @@ -23,6 +23,7 @@ import { CoreModals } from '@services/overlays/modals'; import { CoreMainMenuUserMenuTourComponent } from '../user-menu-tour/user-menu-tour'; import { CoreMainMenuPage } from '@features/mainmenu/pages/menu/menu'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to display an avatar on the header to open user menu. @@ -33,6 +34,10 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-user-menu-button', templateUrl: 'user-menu-button.html', styleUrl: 'user-menu-button.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreMainMenuUserButtonComponent implements OnInit { diff --git a/src/core/features/mainmenu/components/user-menu-tour/user-menu-tour.ts b/src/core/features/mainmenu/components/user-menu-tour/user-menu-tour.ts index 81666484217..4fb215d74f5 100644 --- a/src/core/features/mainmenu/components/user-menu-tour/user-menu-tour.ts +++ b/src/core/features/mainmenu/components/user-menu-tour/user-menu-tour.ts @@ -14,6 +14,7 @@ import { Component } from '@angular/core'; import { CoreUserTours } from '@features/usertours/services/user-tours'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component showing the User Tour for the User Menu feature. @@ -22,6 +23,10 @@ import { CoreUserTours } from '@features/usertours/services/user-tours'; selector: 'core-mainmenu-user-menu-tour', templateUrl: 'user-menu-tour.html', styleUrl: 'user-menu-tour.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreMainMenuUserMenuTourComponent { diff --git a/src/core/features/mainmenu/mainmenu-home-lazy.module.ts b/src/core/features/mainmenu/mainmenu-home-lazy.module.ts index 5f18ed2d82e..f7423137053 100644 --- a/src/core/features/mainmenu/mainmenu-home-lazy.module.ts +++ b/src/core/features/mainmenu/mainmenu-home-lazy.module.ts @@ -15,14 +15,10 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; - import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/handlers/mainmenu'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { resolveHomeRoutes } from '@features/mainmenu/mainmenu-home-routing.module'; import { CoreMainMenuHomePage } from '@features/mainmenu/pages/home/home'; -import { CoreSiteLogoComponent } from '@/core/components/site-logo/site-logo'; /** * Build module routes. @@ -47,16 +43,8 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - CoreMainMenuComponentsModule, - CoreSiteLogoComponent, - ], providers: [ { provide: ROUTES, multi: true, useFactory: buildRoutes, deps: [Injector] }, ], - declarations: [ - CoreMainMenuHomePage, - ], }) export default class CoreMainMenuHomeLazyModule {} diff --git a/src/core/features/mainmenu/mainmenu-lazy.module.ts b/src/core/features/mainmenu/mainmenu-lazy.module.ts index c4f027e9633..8804875c750 100644 --- a/src/core/features/mainmenu/mainmenu-lazy.module.ts +++ b/src/core/features/mainmenu/mainmenu-lazy.module.ts @@ -14,12 +14,10 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; import { resolveMainMenuRoutes } from './mainmenu-routing.module'; import { CoreMainMenuPage } from './pages/menu/menu'; import { CoreMainMenuHomeHandlerService } from './services/handlers/mainmenu'; -import { CoreMainMenuComponentsModule } from './components/components.module'; import { MAIN_MENU_MORE_PAGE_NAME } from './constants'; /** @@ -52,13 +50,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - CoreMainMenuComponentsModule, - ], - declarations: [ - CoreMainMenuPage, - ], providers: [ { provide: ROUTES, multi: true, useFactory: buildRoutes, deps: [Injector] }, ], diff --git a/src/core/features/mainmenu/mainmenu-more-lazy.module.ts b/src/core/features/mainmenu/mainmenu-more-lazy.module.ts index b78ed0db407..3072cdd0602 100644 --- a/src/core/features/mainmenu/mainmenu-more-lazy.module.ts +++ b/src/core/features/mainmenu/mainmenu-more-lazy.module.ts @@ -15,9 +15,7 @@ import { Injector, NgModule } from '@angular/core'; import { Routes, ROUTES } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { CoreMainMenuMorePage } from '@features/mainmenu/pages/more/more'; import { MAIN_MENU_MORE_PAGE_NAME } from './constants'; @@ -37,10 +35,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - CoreMainMenuComponentsModule, - ], providers: [ { provide: ROUTES, @@ -49,8 +43,5 @@ function buildRoutes(injector: Injector): Routes { useFactory: buildRoutes, }, ], - declarations: [ - CoreMainMenuMorePage, - ], }) export default class CoreMainMenuMoreLazyModule {} diff --git a/src/core/features/mainmenu/mainmenu-reload-lazy.module.ts b/src/core/features/mainmenu/mainmenu-reload-lazy.module.ts index 79a20778a91..b2bbcf084c6 100644 --- a/src/core/features/mainmenu/mainmenu-reload-lazy.module.ts +++ b/src/core/features/mainmenu/mainmenu-reload-lazy.module.ts @@ -28,8 +28,6 @@ const routes: Routes = [ imports: [ RouterModule.forChild(routes), CoreSharedModule, - ], - declarations: [ CoreMainMenuReloadPage, ], }) diff --git a/src/core/features/mainmenu/pages/home/home.ts b/src/core/features/mainmenu/pages/home/home.ts index d1fd26cb11a..e9e80794e1d 100644 --- a/src/core/features/mainmenu/pages/home/home.ts +++ b/src/core/features/mainmenu/pages/home/home.ts @@ -21,6 +21,9 @@ import { CoreTabsOutletComponent, CoreTabsOutletTab } from '@components/tabs-out import { CoreMainMenuHomeDelegate, CoreMainMenuHomeHandlerToDisplay } from '../../services/home-delegate'; import { CoreArray } from '@singletons/array'; import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/handlers/mainmenu'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreSiteLogoComponent } from '../../../../components/site-logo/site-logo'; +import { CoreMainMenuUserButtonComponent } from '../../components/user-menu-button/user-menu-button'; /** * Page that displays the Home. @@ -28,6 +31,12 @@ import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/hand @Component({ selector: 'page-core-mainmenu-home', templateUrl: 'home.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreSiteLogoComponent, + CoreMainMenuUserButtonComponent, +], }) export class CoreMainMenuHomePage implements OnInit { diff --git a/src/core/features/mainmenu/pages/menu/menu.ts b/src/core/features/mainmenu/pages/menu/menu.ts index 8f59e6d8f4c..4fb394f3a2a 100644 --- a/src/core/features/mainmenu/pages/menu/menu.ts +++ b/src/core/features/mainmenu/pages/menu/menu.ts @@ -40,6 +40,8 @@ import { MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT, MAIN_MENU_VISIBILITY_UPDATED_EVENT, } from '@features/mainmenu/constants'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreMainMenuUserButtonComponent } from '../../components/user-menu-button/user-menu-button'; const ANIMATION_DURATION = 500; @@ -64,11 +66,17 @@ const ANIMATION_DURATION = 500; animate(`${ANIMATION_DURATION}ms ease-in-out`, style({ transform: 'translateY(100%)' })), ]), transition('hidden => visible', [ - style({ transform: 'translateY(100%)', visibility: 'visible', height: '*' }), + style({ transform: 'translateY(100%)', visibility: 'visible', height: '*' }), animate(`${ANIMATION_DURATION}ms ease-in-out`, style({ transform: 'translateY(0)' })), ]), - ])], + ]), + ], styleUrl: 'menu.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuUserButtonComponent, + ], }) export class CoreMainMenuPage implements OnInit, OnDestroy { diff --git a/src/core/features/mainmenu/pages/more/more.ts b/src/core/features/mainmenu/pages/more/more.ts index 5d6241e8f78..e9454431629 100644 --- a/src/core/features/mainmenu/pages/more/more.ts +++ b/src/core/features/mainmenu/pages/more/more.ts @@ -24,6 +24,8 @@ import { CoreNavigator } from '@services/navigator'; import { Translate } from '@singletons'; import { CoreDom } from '@singletons/dom'; import { CoreViewer } from '@features/viewer/services/viewer'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreMainMenuUserButtonComponent } from '../../components/user-menu-button/user-menu-button'; /** * Page that displays the more page of the app. @@ -32,6 +34,11 @@ import { CoreViewer } from '@features/viewer/services/viewer'; selector: 'page-core-mainmenu-more', templateUrl: 'more.html', styleUrl: 'more.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuUserButtonComponent, +], }) export class CoreMainMenuMorePage implements OnInit, OnDestroy { diff --git a/src/core/features/mainmenu/pages/reload/reload.ts b/src/core/features/mainmenu/pages/reload/reload.ts index 9a9b52a2f1b..fcf9a24e60f 100644 --- a/src/core/features/mainmenu/pages/reload/reload.ts +++ b/src/core/features/mainmenu/pages/reload/reload.ts @@ -14,6 +14,7 @@ import { Component, OnInit } from '@angular/core'; import { CoreNavigator } from '@services/navigator'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays a loading and then opens the main menu again. @@ -21,6 +22,10 @@ import { CoreNavigator } from '@services/navigator'; @Component({ selector: 'page-core-mainmenu-reload', templateUrl: 'reload.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreMainMenuReloadPage implements OnInit { diff --git a/src/core/features/policy/pages/acceptances/acceptances.ts b/src/core/features/policy/pages/acceptances/acceptances.ts index fce4e55b119..6d29b0ffa15 100644 --- a/src/core/features/policy/pages/acceptances/acceptances.ts +++ b/src/core/features/policy/pages/acceptances/acceptances.ts @@ -28,6 +28,7 @@ import { CoreDataPrivacy } from '@features/dataprivacy/services/dataprivacy'; import { CoreModals } from '@services/overlays/modals'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page to view user acceptances. @@ -36,6 +37,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-policy-acceptances', templateUrl: 'acceptances.html', styleUrl: 'acceptances.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CorePolicyAcceptancesPage implements OnInit, OnDestroy { diff --git a/src/core/features/policy/pages/site-policy/site-policy.ts b/src/core/features/policy/pages/site-policy/site-policy.ts index e4a0afd43a4..99da86c6000 100644 --- a/src/core/features/policy/pages/site-policy/site-policy.ts +++ b/src/core/features/policy/pages/site-policy/site-policy.ts @@ -33,6 +33,7 @@ import { CoreModals } from '@services/overlays/modals'; import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page to accept a site policy. @@ -41,6 +42,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-policy-site-policy', templateUrl: 'site-policy.html', styleUrl: 'site-policy.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CorePolicySitePolicyPage implements OnInit, OnDestroy { diff --git a/src/core/features/policy/policy-lazy.module.ts b/src/core/features/policy/policy-lazy.module.ts index f2ab53d1409..6b450c98cac 100644 --- a/src/core/features/policy/policy-lazy.module.ts +++ b/src/core/features/policy/policy-lazy.module.ts @@ -15,7 +15,6 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; import { CorePolicySitePolicyPage } from '@features/policy/pages/site-policy/site-policy'; import { ACCEPTANCES_PAGE_NAME, SITE_POLICY_PAGE_NAME } from './constants'; import { CorePolicyAcceptancesPage } from './pages/acceptances/acceptances'; @@ -33,12 +32,7 @@ const routes: Routes = [ @NgModule({ imports: [ - CoreSharedModule, RouterModule.forChild(routes), ], - declarations: [ - CorePolicySitePolicyPage, - CorePolicyAcceptancesPage, - ], }) export default class CorePolicyLazyModule {} diff --git a/src/core/features/question/components/components.module.ts b/src/core/features/question/components/components.module.ts index adf1e261b02..1481491bb39 100644 --- a/src/core/features/question/components/components.module.ts +++ b/src/core/features/question/components/components.module.ts @@ -14,15 +14,11 @@ import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreQuestionComponent } from './question/question'; @NgModule({ - declarations: [ - CoreQuestionComponent, - ], imports: [ - CoreSharedModule, + CoreQuestionComponent, ], exports: [ CoreQuestionComponent, diff --git a/src/core/features/question/components/question/question.ts b/src/core/features/question/components/question/question.ts index 49516e39a0f..bda817480c3 100644 --- a/src/core/features/question/components/question/question.ts +++ b/src/core/features/question/components/question/question.ts @@ -29,6 +29,7 @@ import { CoreObject } from '@singletons/object'; import { CoreDynamicComponent } from '@components/dynamic-component/dynamic-component'; import { CoreQuestionBaseComponent } from '@features/question/classes/base-question-component'; import { AsyncDirective } from '@classes/async-directive'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a question. @@ -37,6 +38,10 @@ import { AsyncDirective } from '@classes/async-directive'; selector: 'core-question', templateUrl: 'core-question.html', styleUrl: '../../question.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreQuestionComponent implements OnInit, AsyncDirective { diff --git a/src/core/features/rating/components/aggregate/aggregate.ts b/src/core/features/rating/components/aggregate/aggregate.ts index 60e83099dae..8db3aaef3e9 100644 --- a/src/core/features/rating/components/aggregate/aggregate.ts +++ b/src/core/features/rating/components/aggregate/aggregate.ts @@ -23,6 +23,7 @@ import { import { CoreModals } from '@services/overlays/modals'; import { CoreSites } from '@services/sites'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays the aggregation of a rating item. @@ -30,6 +31,10 @@ import { CoreEventObserver, CoreEvents } from '@singletons/events'; @Component({ selector: 'core-rating-aggregate', templateUrl: 'core-rating-aggregate.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreRatingAggregateComponent implements OnChanges, OnDestroy { diff --git a/src/core/features/rating/components/components.module.ts b/src/core/features/rating/components/components.module.ts deleted file mode 100644 index e6f02e1aa3f..00000000000 --- a/src/core/features/rating/components/components.module.ts +++ /dev/null @@ -1,33 +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 { CoreRatingAggregateComponent } from './aggregate/aggregate'; -import { CoreRatingRateComponent } from './rate/rate'; -import { CoreSharedModule } from '@/core/shared.module'; - -@NgModule({ - declarations: [ - CoreRatingAggregateComponent, - CoreRatingRateComponent, - ], - imports: [ - CoreSharedModule, - ], - exports: [ - CoreRatingAggregateComponent, - CoreRatingRateComponent, - ], -}) -export class CoreRatingComponentsModule {} diff --git a/src/core/features/rating/components/rate/rate.ts b/src/core/features/rating/components/rate/rate.ts index 19a4a9aa66d..f061dbf612d 100644 --- a/src/core/features/rating/components/rate/rate.ts +++ b/src/core/features/rating/components/rate/rate.ts @@ -28,6 +28,7 @@ import { Translate } from '@singletons'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays the user rating select. @@ -35,6 +36,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'core-rating-rate', templateUrl: 'core-rating-rate.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreRatingRateComponent implements OnChanges, OnDestroy { diff --git a/src/core/features/reminders/components/components.module.ts b/src/core/features/reminders/components/components.module.ts index 569d2e768a1..275074c1f2f 100644 --- a/src/core/features/reminders/components/components.module.ts +++ b/src/core/features/reminders/components/components.module.ts @@ -12,19 +12,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule } from '@angular/core'; import { CoreRemindersDateComponent } from './date/date'; import { CoreRemindersSetButtonComponent } from './set-button/set-button'; @NgModule({ - declarations: [ + imports: [ CoreRemindersDateComponent, CoreRemindersSetButtonComponent, ], - imports: [ - CoreSharedModule, - ], exports: [ CoreRemindersDateComponent, CoreRemindersSetButtonComponent, diff --git a/src/core/features/reminders/components/date/date.ts b/src/core/features/reminders/components/date/date.ts index f907ff2971e..c7859826051 100644 --- a/src/core/features/reminders/components/date/date.ts +++ b/src/core/features/reminders/components/date/date.ts @@ -17,6 +17,8 @@ import { Component, Input, OnInit } from '@angular/core'; import { CoreTimeUtils } from '@services/utils/time'; import { Translate } from '@singletons'; import { CoreTime } from '@singletons/time'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreRemindersSetButtonComponent } from '../set-button/set-button'; /** * Component that displays a date to remind. @@ -25,6 +27,11 @@ import { CoreTime } from '@singletons/time'; selector: 'core-reminders-date', templateUrl: 'date.html', styleUrl: 'date.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreRemindersSetButtonComponent, + ], }) export class CoreRemindersDateComponent implements OnInit { diff --git a/src/core/features/reminders/components/set-button/set-button.ts b/src/core/features/reminders/components/set-button/set-button.ts index 70cfd02b62a..cf44b1a42a0 100644 --- a/src/core/features/reminders/components/set-button/set-button.ts +++ b/src/core/features/reminders/components/set-button/set-button.ts @@ -19,6 +19,7 @@ import { Translate } from '@singletons'; import { CoreTimeUtils } from '@services/utils/time'; import { CoreToasts } from '@services/overlays/toasts'; import { REMINDERS_DISABLED } from '@features/reminders/constants'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays a button to set a reminder. @@ -26,6 +27,10 @@ import { REMINDERS_DISABLED } from '@features/reminders/constants'; @Component({ selector: 'core-reminders-set-button', templateUrl: 'set-button.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreRemindersSetButtonComponent implements OnInit { diff --git a/src/core/features/reminders/reminders.module.ts b/src/core/features/reminders/reminders.module.ts index 3bc471dd59e..130af26c757 100644 --- a/src/core/features/reminders/reminders.module.ts +++ b/src/core/features/reminders/reminders.module.ts @@ -14,14 +14,10 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; import { CORE_SITE_SCHEMAS } from '@services/sites'; -import { CoreRemindersComponentsModule } from './components/components.module'; import { REMINDERS_SITE_SCHEMA } from './services/database/reminders'; import { CoreReminders } from './services/reminders'; @NgModule({ - imports: [ - CoreRemindersComponentsModule, - ], providers: [ { provide: CORE_SITE_SCHEMAS, diff --git a/src/core/features/reportbuilder/components/components.module.ts b/src/core/features/reportbuilder/components/components.module.ts deleted file mode 100644 index 958aaaf4f2c..00000000000 --- a/src/core/features/reportbuilder/components/components.module.ts +++ /dev/null @@ -1,33 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreReportBuilderReportColumnComponent } from './report-column/report-column'; -import { CoreReportBuilderReportDetailComponent } from './report-detail/report-detail'; - -@NgModule({ - imports: [ - CoreSharedModule, - ], - declarations: [ - CoreReportBuilderReportDetailComponent, - CoreReportBuilderReportColumnComponent, - ], - exports: [ - CoreReportBuilderReportDetailComponent, - CoreReportBuilderReportColumnComponent, - ], -}) -export class CoreReportBuilderComponentsModule {} diff --git a/src/core/features/reportbuilder/components/report-column/report-column.ts b/src/core/features/reportbuilder/components/report-column/report-column.ts index cb31ebaaf63..2b9d8668e13 100644 --- a/src/core/features/reportbuilder/components/report-column/report-column.ts +++ b/src/core/features/reportbuilder/components/report-column/report-column.ts @@ -15,11 +15,16 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { CoreReportBuilder } from '@features/reportbuilder/services/reportbuilder'; +import { CoreSharedModule } from '@/core/shared.module'; @Component({ selector: 'core-report-builder-report-column', templateUrl: './report-column.html', styleUrl: './report-column.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreReportBuilderReportColumnComponent { diff --git a/src/core/features/reportbuilder/components/report-detail/report-detail.ts b/src/core/features/reportbuilder/components/report-detail/report-detail.ts index c97147f6648..77d0839d9db 100644 --- a/src/core/features/reportbuilder/components/report-detail/report-detail.ts +++ b/src/core/features/reportbuilder/components/report-detail/report-detail.ts @@ -33,11 +33,18 @@ import { BehaviorSubject, Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreReportBuilderReportColumnComponent } from '../report-column/report-column'; @Component({ selector: 'core-report-builder-report-detail', templateUrl: './report-detail.html', styleUrl: './report-detail.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreReportBuilderReportColumnComponent, + ], }) export class CoreReportBuilderReportDetailComponent implements OnInit { diff --git a/src/core/features/reportbuilder/pages/list/list.ts b/src/core/features/reportbuilder/pages/list/list.ts index 54c68939fc6..a506ef78d9b 100644 --- a/src/core/features/reportbuilder/pages/list/list.ts +++ b/src/core/features/reportbuilder/pages/list/list.ts @@ -24,11 +24,16 @@ import { Translate } from '@singletons'; import { CoreTime } from '@singletons/time'; import { BehaviorSubject } from 'rxjs'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; @Component({ selector: 'core-report-builder-list', templateUrl: './list.html', changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreReportBuilderListPage implements AfterViewInit, OnDestroy { diff --git a/src/core/features/reportbuilder/pages/report/report.ts b/src/core/features/reportbuilder/pages/report/report.ts index 403529cbae4..12ec71317da 100644 --- a/src/core/features/reportbuilder/pages/report/report.ts +++ b/src/core/features/reportbuilder/pages/report/report.ts @@ -16,10 +16,17 @@ import { Component, OnInit } from '@angular/core'; import { CoreReportBuilderReportDetail } from '@features/reportbuilder/services/reportbuilder'; import { CoreModals } from '@services/overlays/modals'; import { CoreNavigator } from '@services/navigator'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreReportBuilderReportDetailComponent } from '../../components/report-detail/report-detail'; @Component({ selector: 'core-report-builder-report', templateUrl: './report.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreReportBuilderReportDetailComponent, + ], }) export class CoreReportBuilderReportPage implements OnInit { diff --git a/src/core/features/reportbuilder/reportbuilder-lazy.module.ts b/src/core/features/reportbuilder/reportbuilder-lazy.module.ts index 7e142f6dd15..0887373e3f8 100644 --- a/src/core/features/reportbuilder/reportbuilder-lazy.module.ts +++ b/src/core/features/reportbuilder/reportbuilder-lazy.module.ts @@ -12,10 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreReportBuilderComponentsModule } from './components/components.module'; import { CoreReportBuilderListPage } from './pages/list/list'; import { CoreReportBuilderReportPage } from './pages/report/report'; @@ -32,13 +30,7 @@ const routes: Routes = [ @NgModule({ imports: [ - CoreSharedModule, - CoreReportBuilderComponentsModule, RouterModule.forChild(routes), ], - declarations: [ - CoreReportBuilderListPage, - CoreReportBuilderReportPage, - ], }) export default class CoreReportBuilderLazyModule {} diff --git a/src/core/features/search/components/components.module.ts b/src/core/features/search/components/components.module.ts index 730dc349b0e..cf00972f8f7 100644 --- a/src/core/features/search/components/components.module.ts +++ b/src/core/features/search/components/components.module.ts @@ -14,18 +14,14 @@ import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreSearchBoxComponent } from './search-box/search-box'; import { CoreSearchGlobalSearchResultComponent } from '@features/search/components/global-search-result/global-search-result'; @NgModule({ - declarations: [ + imports: [ CoreSearchBoxComponent, CoreSearchGlobalSearchResultComponent, ], - imports: [ - CoreSharedModule, - ], exports: [ CoreSearchBoxComponent, CoreSearchGlobalSearchResultComponent, diff --git a/src/core/features/search/components/global-search-result/global-search-result.ts b/src/core/features/search/components/global-search-result/global-search-result.ts index a9aa23d6f9f..306c52514dd 100644 --- a/src/core/features/search/components/global-search-result/global-search-result.ts +++ b/src/core/features/search/components/global-search-result/global-search-result.ts @@ -15,11 +15,16 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input, Output, EventEmitter, OnChanges } from '@angular/core'; import { CoreSearchGlobalSearchResult, CoreSearchGlobalSearchResultContext } from '@features/search/services/global-search'; +import { CoreSharedModule } from '@/core/shared.module'; @Component({ selector: 'core-search-global-search-result', templateUrl: 'global-search-result.html', styleUrl: './global-search-result.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSearchGlobalSearchResultComponent implements OnChanges { diff --git a/src/core/features/search/components/search-box/search-box.ts b/src/core/features/search/components/search-box/search-box.ts index 2f0965b4be9..310c6012ebd 100644 --- a/src/core/features/search/components/search-box/search-box.ts +++ b/src/core/features/search/components/search-box/search-box.ts @@ -20,6 +20,7 @@ import { Translate } from '@singletons'; import { CoreSearchHistoryDBRecord } from '../../services/search-history-db'; import { CoreForms } from '@singletons/form'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to display a "search box". @@ -35,6 +36,10 @@ import { toBoolean } from '@/core/transforms/boolean'; selector: 'core-search-box', templateUrl: 'core-search-box.html', styleUrl: 'search-box.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSearchBoxComponent implements OnInit { diff --git a/src/core/features/search/pages/global-search/global-search.ts b/src/core/features/search/pages/global-search/global-search.ts index b00dfb355a1..2c957fc528e 100644 --- a/src/core/features/search/pages/global-search/global-search.ts +++ b/src/core/features/search/pages/global-search/global-search.ts @@ -31,10 +31,20 @@ import { CoreSearchBoxComponent } from '@features/search/components/search-box/s import { CoreModals } from '@services/overlays/modals'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreLoadings } from '@services/overlays/loadings'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreMainMenuUserButtonComponent } from '../../../mainmenu/components/user-menu-button/user-menu-button'; +import { CoreSearchGlobalSearchResultComponent } from '../../components/global-search-result/global-search-result'; @Component({ selector: 'page-core-search-global-search', templateUrl: 'global-search.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuUserButtonComponent, + CoreSearchBoxComponent, + CoreSearchGlobalSearchResultComponent, + ], }) export class CoreSearchGlobalSearchPage implements OnInit, OnDestroy, AfterViewInit { diff --git a/src/core/features/search/search-lazy.module.ts b/src/core/features/search/search-lazy.module.ts index 05bc71bbec2..170828a8885 100644 --- a/src/core/features/search/search-lazy.module.ts +++ b/src/core/features/search/search-lazy.module.ts @@ -12,12 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule, Injector } from '@angular/core'; import { Routes, ROUTES } from '@angular/router'; import { CoreSearchGlobalSearchPage } from './pages/global-search/global-search'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; /** @@ -33,14 +30,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - CoreSearchComponentsModule, - CoreMainMenuComponentsModule, - ], - declarations: [ - CoreSearchGlobalSearchPage, - ], providers: [ { provide: ROUTES, diff --git a/src/core/features/search/search.module.ts b/src/core/features/search/search.module.ts index 8a3ea5be0f1..4f9337263e2 100644 --- a/src/core/features/search/search.module.ts +++ b/src/core/features/search/search.module.ts @@ -21,7 +21,6 @@ import { CoreSearchMainMenuHandler, CORE_SEARCH_PAGE_NAME } from '@features/sear import { CORE_SITE_SCHEMAS } from '@services/sites'; -import { CoreSearchComponentsModule } from './components/components.module'; import { SITE_SCHEMA } from './services/search-history-db'; import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; import { CoreSearchGlobalSearchLinkHandler } from '@features/search/services/handlers/global-search-link'; @@ -50,7 +49,6 @@ const mainMenuChildrenRoutes: Routes = [ @NgModule({ imports: [ - CoreSearchComponentsModule, CoreMainMenuTabRoutingModule.forChild(mainMenuChildrenRoutes), CoreMainMenuRoutingModule.forChild({ children: mainMenuChildrenRoutes }), ], diff --git a/src/core/features/settings/pages/about/about.ts b/src/core/features/settings/pages/about/about.ts index fb1975ead1a..8153953049e 100644 --- a/src/core/features/settings/pages/about/about.ts +++ b/src/core/features/settings/pages/about/about.ts @@ -18,6 +18,7 @@ import { CoreConstants } from '@/core/constants'; import { CoreSites } from '@services/sites'; import { CoreNavigator } from '@services/navigator'; import { CoreSite } from '@classes/sites/site'; +import { CoreSharedModule } from '@/core/shared.module'; /** * App settings about menu page. @@ -26,6 +27,10 @@ import { CoreSite } from '@classes/sites/site'; selector: 'page-core-app-settings-about', templateUrl: 'about.html', styleUrl: 'about.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsAboutPage { diff --git a/src/core/features/settings/pages/dev/dev.ts b/src/core/features/settings/pages/dev/dev.ts index ecc05f8e9a8..7f48b0acb8c 100644 --- a/src/core/features/settings/pages/dev/dev.ts +++ b/src/core/features/settings/pages/dev/dev.ts @@ -33,6 +33,7 @@ import { CoreToasts, ToastDuration } from '@services/overlays/toasts'; import { CoreText } from '@singletons/text'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreLoadings } from '@services/overlays/loadings'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the developer options. @@ -40,6 +41,10 @@ import { CoreLoadings } from '@services/overlays/loadings'; @Component({ selector: 'page-core-app-settings-dev', templateUrl: 'dev.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsDevPage implements OnInit { diff --git a/src/core/features/settings/pages/deviceinfo/deviceinfo.ts b/src/core/features/settings/pages/deviceinfo/deviceinfo.ts index 3974c8ade0c..5c38df6027a 100644 --- a/src/core/features/settings/pages/deviceinfo/deviceinfo.ts +++ b/src/core/features/settings/pages/deviceinfo/deviceinfo.ts @@ -31,6 +31,7 @@ import { CoreLoginHelper } from '@features/login/services/login-helper'; import { CoreSitesFactory } from '@services/sites-factory'; import { CoreText } from '@singletons/text'; import { GestureDetail } from '@ionic/angular'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Device Info to be shown and copied to clipboard. @@ -71,6 +72,10 @@ interface CoreSettingsDeviceInfo { selector: 'page-core-app-settings-deviceinfo', templateUrl: 'deviceinfo.html', styleUrl: 'deviceinfo.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsDeviceInfoPage implements OnDestroy { diff --git a/src/core/features/settings/pages/error-log/error-log.ts b/src/core/features/settings/pages/error-log/error-log.ts index 4d7a71e4eef..0c9120b44a8 100644 --- a/src/core/features/settings/pages/error-log/error-log.ts +++ b/src/core/features/settings/pages/error-log/error-log.ts @@ -15,6 +15,7 @@ import { Component, OnInit } from '@angular/core'; import { CoreText } from '@singletons/text'; import { CoreErrorLogs, CoreSettingsErrorLog } from '@singletons/error-logs'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the error logs. @@ -22,6 +23,10 @@ import { CoreErrorLogs, CoreSettingsErrorLog } from '@singletons/error-logs'; @Component({ selector: 'page-core-app-settings-error-log', templateUrl: 'error-log.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsErrorLogPage implements OnInit { diff --git a/src/core/features/settings/pages/general/general.ts b/src/core/features/settings/pages/general/general.ts index 6e8d09ce957..a27fd5c6439 100644 --- a/src/core/features/settings/pages/general/general.ts +++ b/src/core/features/settings/pages/general/general.ts @@ -28,6 +28,7 @@ import { CorePlatform } from '@services/platform'; import { CoreAnalytics } from '@services/analytics'; import { CoreNative } from '@features/native/services/native'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the general settings. @@ -36,6 +37,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-app-settings-general', templateUrl: 'general.html', styleUrl: 'general.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsGeneralPage { diff --git a/src/core/features/settings/pages/index/index.ts b/src/core/features/settings/pages/index/index.ts index 9e044dfe3a1..e3ed60bbbaa 100644 --- a/src/core/features/settings/pages/index/index.ts +++ b/src/core/features/settings/pages/index/index.ts @@ -18,10 +18,15 @@ import { CoreSplitViewComponent } from '@components/split-view/split-view'; import { CoreListItemsManager } from '@classes/items-management/list-items-manager'; import { CoreSettingsSection, CoreSettingsSectionsSource } from '@features/settings/classes/settings-sections-source'; import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; +import { CoreSharedModule } from '@/core/shared.module'; @Component({ selector: 'page-core-settings-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsIndexPage implements AfterViewInit, OnDestroy { diff --git a/src/core/features/settings/pages/licenses/licenses.ts b/src/core/features/settings/pages/licenses/licenses.ts index 131ac3c67af..868f610079d 100644 --- a/src/core/features/settings/pages/licenses/licenses.ts +++ b/src/core/features/settings/pages/licenses/licenses.ts @@ -17,6 +17,7 @@ import { CoreConstants } from '@/core/constants'; import { Http } from '@singletons'; import { IonSearchbar } from '@ionic/angular'; import { firstValueFrom } from 'rxjs'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Defines license info @@ -39,6 +40,10 @@ interface CoreSettingsLicense { @Component({ selector: 'page-core-app-settings-licenses', templateUrl: 'licenses.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsLicensesPage implements OnInit { diff --git a/src/core/features/settings/pages/site/site.ts b/src/core/features/settings/pages/site/site.ts index c61e8b8ba41..f8df27428bf 100644 --- a/src/core/features/settings/pages/site/site.ts +++ b/src/core/features/settings/pages/site/site.ts @@ -30,6 +30,7 @@ import { CoreConfig } from '@services/config'; import { CoreSettingsHandlersSource } from '@features/settings/classes/settings-handlers-source'; import { CoreToasts } from '@services/overlays/toasts'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the list of site settings pages. @@ -37,6 +38,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-site-preferences', templateUrl: 'site.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSitePreferencesPage implements AfterViewInit, OnDestroy { diff --git a/src/core/features/settings/pages/space-usage/space-usage.ts b/src/core/features/settings/pages/space-usage/space-usage.ts index f83368dec74..2f50548b2f4 100644 --- a/src/core/features/settings/pages/space-usage/space-usage.ts +++ b/src/core/features/settings/pages/space-usage/space-usage.ts @@ -21,6 +21,7 @@ import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreSettingsHelper } from '../../services/settings-helper'; import { CoreAccountsList } from '@features/login/services/login-helper'; import { CorePromiseUtils } from '@singletons/promise-utils'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the space usage settings. @@ -28,6 +29,10 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; @Component({ selector: 'page-core-app-settings-space-usage', templateUrl: 'space-usage.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsSpaceUsagePage implements OnInit, OnDestroy { diff --git a/src/core/features/settings/pages/synchronization/synchronization.ts b/src/core/features/settings/pages/synchronization/synchronization.ts index cb22f299570..3234b97b49c 100644 --- a/src/core/features/settings/pages/synchronization/synchronization.ts +++ b/src/core/features/settings/pages/synchronization/synchronization.ts @@ -26,6 +26,7 @@ import { Subscription } from 'rxjs'; import { CoreNavigator } from '@services/navigator'; import { CoreToasts } from '@services/overlays/toasts'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the synchronization settings. @@ -33,6 +34,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-app-settings-synchronization', templateUrl: 'synchronization.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSettingsSynchronizationPage implements OnInit, OnDestroy { diff --git a/src/core/features/settings/settings-lazy.module.ts b/src/core/features/settings/settings-lazy.module.ts index 84be212d3b6..08bee83e6a4 100644 --- a/src/core/features/settings/settings-lazy.module.ts +++ b/src/core/features/settings/settings-lazy.module.ts @@ -16,7 +16,6 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreScreen } from '@services/screen'; import { CoreSettingsIndexPage } from './pages/index'; @@ -100,18 +99,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - ], - declarations: [ - CoreSettingsIndexPage, - CoreSettingsSynchronizationPage, - CoreSettingsGeneralPage, - CoreSettingsSpaceUsagePage, - CoreSettingsAboutPage, - CoreSettingsLicensesPage, - CoreSettingsDeviceInfoPage, - CoreSettingsDevPage, - CoreSettingsErrorLogPage, ], }) export default class CoreSettingsLazyModule {} diff --git a/src/core/features/settings/settings-site-lazy.module.ts b/src/core/features/settings/settings-site-lazy.module.ts index 67d0c4ad1d3..b8fd5529e34 100644 --- a/src/core/features/settings/settings-site-lazy.module.ts +++ b/src/core/features/settings/settings-site-lazy.module.ts @@ -15,7 +15,6 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; import { CoreSitePreferencesPage } from '@features/settings/pages/site/site'; @@ -54,11 +53,5 @@ function buildRoutes(injector: Injector): Routes { providers: [ { provide: ROUTES, multi: true, useFactory: buildRoutes, deps: [Injector] }, ], - declarations: [ - CoreSitePreferencesPage, - ], - imports: [ - CoreSharedModule, - ], }) export default class CoreettingsSiteLazyModule {} diff --git a/src/core/features/sharedfiles/components/components.module.ts b/src/core/features/sharedfiles/components/components.module.ts deleted file mode 100644 index a6b44c7ba3e..00000000000 --- a/src/core/features/sharedfiles/components/components.module.ts +++ /dev/null @@ -1,31 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreSharedFilesListComponent } from './list/list'; - -@NgModule({ - declarations: [ - CoreSharedFilesListComponent, - ], - imports: [ - CoreSharedModule, - ], - exports: [ - CoreSharedFilesListComponent, - ], -}) -export class CoreSharedFilesComponentsModule {} diff --git a/src/core/features/sharedfiles/components/list-modal/list-modal.ts b/src/core/features/sharedfiles/components/list-modal/list-modal.ts index d113e72af75..85d5c4bd271 100644 --- a/src/core/features/sharedfiles/components/list-modal/list-modal.ts +++ b/src/core/features/sharedfiles/components/list-modal/list-modal.ts @@ -19,7 +19,7 @@ import { FileEntry } from '@awesome-cordova-plugins/file/ngx'; import { CoreFileUtils } from '@singletons/file-utils'; import { ModalController, Translate } from '@singletons'; -import { CoreSharedFilesComponentsModule } from '../components.module'; +import { CoreSharedFilesListComponent } from '../list/list'; /** * Modal to display the list of shared files. @@ -30,7 +30,7 @@ import { CoreSharedFilesComponentsModule } from '../components.module'; standalone: true, imports: [ CoreSharedModule, - CoreSharedFilesComponentsModule, + CoreSharedFilesListComponent, ], }) export class CoreSharedFilesListModalComponent implements OnInit { diff --git a/src/core/features/sharedfiles/components/list/list.ts b/src/core/features/sharedfiles/components/list/list.ts index c35c1944dca..293de32e433 100644 --- a/src/core/features/sharedfiles/components/list/list.ts +++ b/src/core/features/sharedfiles/components/list/list.ts @@ -22,6 +22,7 @@ import { CoreSites } from '@services/sites'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CorePath } from '@singletons/path'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to display the list of shared files, either as a modal or inside a page. @@ -29,6 +30,10 @@ import { toBoolean } from '@/core/transforms/boolean'; @Component({ selector: 'core-shared-files-list', templateUrl: 'list.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSharedFilesListComponent implements OnInit, OnDestroy { diff --git a/src/core/features/sharedfiles/pages/choose-site/choose-site.ts b/src/core/features/sharedfiles/pages/choose-site/choose-site.ts index fd105176064..a976ad0741f 100644 --- a/src/core/features/sharedfiles/pages/choose-site/choose-site.ts +++ b/src/core/features/sharedfiles/pages/choose-site/choose-site.ts @@ -21,6 +21,7 @@ import { CoreNavigator } from '@services/navigator'; import { CoreSiteBasicInfo } from '@services/sites'; import { CoreFileUtils } from '@singletons/file-utils'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page to display the list of sites to choose one to store a shared file. @@ -28,6 +29,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-shared-files-choose-site', templateUrl: 'choose-site.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreSharedFilesChooseSitePage implements OnInit { diff --git a/src/core/features/sharedfiles/pages/list/list.ts b/src/core/features/sharedfiles/pages/list/list.ts index c25f49452e1..56ac5da7e63 100644 --- a/src/core/features/sharedfiles/pages/list/list.ts +++ b/src/core/features/sharedfiles/pages/list/list.ts @@ -17,6 +17,8 @@ import { Component, OnInit } from '@angular/core'; import { CoreFileUtils } from '@singletons/file-utils'; import { CoreNavigator } from '@services/navigator'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreSharedFilesListComponent } from '../../components/list/list'; /** * Page to display the list of shared files. @@ -24,6 +26,11 @@ import { Translate } from '@singletons'; @Component({ selector: 'page-core-shared-files-list', templateUrl: 'list.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreSharedFilesListComponent, + ], }) export class CoreSharedFilesListPage implements OnInit { diff --git a/src/core/features/sharedfiles/sharedfiles-lazy.module.ts b/src/core/features/sharedfiles/sharedfiles-lazy.module.ts index 55c890622b0..eba353497ac 100644 --- a/src/core/features/sharedfiles/sharedfiles-lazy.module.ts +++ b/src/core/features/sharedfiles/sharedfiles-lazy.module.ts @@ -15,8 +15,6 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreSharedFilesComponentsModule } from './components/components.module'; import { CoreSharedFilesListPage } from './pages/list/list'; import { CoreSharedFilesChooseSitePage } from './pages/choose-site/choose-site'; @@ -34,12 +32,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreSharedFilesComponentsModule, - ], - declarations: [ - CoreSharedFilesListPage, - CoreSharedFilesChooseSitePage, ], }) export default class CoreSharedFilesLazyModule {} diff --git a/src/core/features/sharedfiles/sharedfiles.module.ts b/src/core/features/sharedfiles/sharedfiles.module.ts index 26d6562a9ad..b7a543a2dab 100644 --- a/src/core/features/sharedfiles/sharedfiles.module.ts +++ b/src/core/features/sharedfiles/sharedfiles.module.ts @@ -20,7 +20,6 @@ import { CoreFileUploaderDelegate } from '@features/fileuploader/services/fileup import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; import { CoreSitePreferencesRoutingModule } from '@features/settings/settings-site-routing.module'; import { CoreSettingsDelegate } from '@features/settings/services/settings-delegate'; -import { CoreSharedFilesComponentsModule } from './components/components.module'; import { CoreSharedFilesSettingsHandler } from './services/handlers/settings'; import { CoreSharedFilesUploadHandler } from './services/handlers/upload'; import { CoreSharedFiles } from './services/sharedfiles'; @@ -54,7 +53,6 @@ const routes: Routes = [ AppRoutingModule.forChild(routes), CoreMainMenuTabRoutingModule.forChild(routes), CoreSitePreferencesRoutingModule.forChild(routes), - CoreSharedFilesComponentsModule, ], providers: [ { diff --git a/src/core/features/sitehome/pages/index/index.ts b/src/core/features/sitehome/pages/index/index.ts index 73b1cc46e16..077add74759 100644 --- a/src/core/features/sitehome/pages/index/index.ts +++ b/src/core/features/sitehome/pages/index/index.ts @@ -33,6 +33,9 @@ import { ContextLevel } from '@/core/constants'; import { CoreModals } from '@services/overlays/modals'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleComponent } from '../../../course/components/module/module'; +import { CoreBlockSideBlocksButtonComponent } from '../../../block/components/side-blocks-button/side-blocks-button'; /** * Page that displays site home index. @@ -41,6 +44,12 @@ import { Translate } from '@singletons'; selector: 'page-core-sitehome-index', templateUrl: 'index.html', styleUrl: 'index.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreCourseModuleComponent, + CoreBlockSideBlocksButtonComponent, + ], }) export class CoreSiteHomeIndexPage implements OnInit, OnDestroy { diff --git a/src/core/features/sitehome/sitehome-lazy.module.ts b/src/core/features/sitehome/sitehome-lazy.module.ts index 7a0d4a38d98..dd92058642d 100644 --- a/src/core/features/sitehome/sitehome-lazy.module.ts +++ b/src/core/features/sitehome/sitehome-lazy.module.ts @@ -15,9 +15,6 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreBlockComponentsModule } from '@/core/features/block/components/components.module'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSiteHomeIndexPage } from '@features/sitehome/pages/index'; const routes: Routes = [ @@ -30,12 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreBlockComponentsModule, - CoreCourseComponentsModule, - ], - declarations: [ - CoreSiteHomeIndexPage, ], }) export default class CoreSiteHomeLazyModule {} 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 36f5a59c251..f53eb6d7d46 100644 --- a/src/core/features/siteplugins/components/module-index/module-index.ts +++ b/src/core/features/siteplugins/components/module-index/module-index.ts @@ -31,8 +31,9 @@ import { import { CoreModals } from '@services/overlays/modals'; import { CoreUtils } from '@singletons/utils'; import { CoreSitePluginsPluginContentComponent, CoreSitePluginsPluginContentLoadedData } from '../plugin-content/plugin-content'; -import { CoreCourseComponentsModule } from '@features/course/components/components.module'; import { CoreSharedModule } from '@/core/shared.module'; +import { CoreCourseModuleInfoComponent } from '../../../course/components/module-info/module-info'; +import { CoreCourseModuleNavigationComponent } from '@features/course/components/module-navigation/module-navigation'; /** * Component that displays the index of a module site plugin. @@ -42,10 +43,11 @@ import { CoreSharedModule } from '@/core/shared.module'; templateUrl: 'core-siteplugins-module-index.html', styles: [':host { display: contents; }'], standalone: true, - imports: [ + imports: [ CoreSharedModule, - CoreCourseComponentsModule, CoreSitePluginsPluginContentComponent, + CoreCourseModuleInfoComponent, + CoreCourseModuleNavigationComponent, ], }) export class CoreSitePluginsModuleIndexComponent implements OnInit, OnDestroy, CoreCourseModuleMainComponent { diff --git a/src/core/features/siteplugins/directives/call-ws-new-content.ts b/src/core/features/siteplugins/directives/call-ws-new-content.ts index 7568380e492..9abef78bcea 100644 --- a/src/core/features/siteplugins/directives/call-ws-new-content.ts +++ b/src/core/features/siteplugins/directives/call-ws-new-content.ts @@ -52,6 +52,7 @@ import { toBoolean } from '@/core/transforms/boolean'; */ @Directive({ selector: '[core-site-plugins-call-ws-new-content]', + standalone: true, }) export class CoreSitePluginsCallWSNewContentDirective extends CoreSitePluginsCallWSOnClickBaseDirective { diff --git a/src/core/features/siteplugins/directives/call-ws-on-load.ts b/src/core/features/siteplugins/directives/call-ws-on-load.ts index 50c3d3d882c..b02e2ef605b 100644 --- a/src/core/features/siteplugins/directives/call-ws-on-load.ts +++ b/src/core/features/siteplugins/directives/call-ws-on-load.ts @@ -32,6 +32,7 @@ import { CoreSitePluginsPluginContentComponent } from '../components/plugin-cont */ @Directive({ selector: '[core-site-plugins-call-ws-on-load]', + standalone: true, }) export class CoreSitePluginsCallWSOnLoadDirective extends CoreSitePluginsCallWSBaseDirective implements OnInit { diff --git a/src/core/features/siteplugins/directives/call-ws.ts b/src/core/features/siteplugins/directives/call-ws.ts index b18162b7a78..5143b9b2437 100644 --- a/src/core/features/siteplugins/directives/call-ws.ts +++ b/src/core/features/siteplugins/directives/call-ws.ts @@ -48,6 +48,7 @@ import { toBoolean } from '@/core/transforms/boolean'; */ @Directive({ selector: '[core-site-plugins-call-ws]', + standalone: true, }) export class CoreSitePluginsCallWSDirective extends CoreSitePluginsCallWSOnClickBaseDirective { diff --git a/src/core/features/siteplugins/directives/directives.module.ts b/src/core/features/siteplugins/directives/directives.module.ts index c3fd02a5dd7..17eafcc6e32 100644 --- a/src/core/features/siteplugins/directives/directives.module.ts +++ b/src/core/features/siteplugins/directives/directives.module.ts @@ -20,7 +20,7 @@ import { CoreSitePluginsCallWSOnLoadDirective } from './call-ws-on-load'; import { CoreSitePluginsNewContentDirective } from './new-content'; @NgModule({ - declarations: [ + imports: [ CoreSitePluginsCallWSDirective, CoreSitePluginsCallWSNewContentDirective, CoreSitePluginsCallWSOnLoadDirective, diff --git a/src/core/features/siteplugins/directives/new-content.ts b/src/core/features/siteplugins/directives/new-content.ts index 31d207fbbfa..ddd3abcc902 100644 --- a/src/core/features/siteplugins/directives/new-content.ts +++ b/src/core/features/siteplugins/directives/new-content.ts @@ -44,6 +44,7 @@ import { toBoolean } from '@/core/transforms/boolean'; */ @Directive({ selector: '[core-site-plugins-new-content]', + standalone: true, }) export class CoreSitePluginsNewContentDirective implements OnInit { diff --git a/src/core/features/tag/components/components.module.ts b/src/core/features/tag/components/components.module.ts deleted file mode 100644 index 216e1f1f01c..00000000000 --- a/src/core/features/tag/components/components.module.ts +++ /dev/null @@ -1,34 +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 { CoreTagFeedComponent } from './feed/feed'; -import { CoreSharedModule } from '@/core/shared.module'; -import { CoreTagListComponent } from './list/list'; - -@NgModule({ - declarations: [ - CoreTagFeedComponent, - CoreTagListComponent, - ], - imports: [ - CoreSharedModule, - ], - exports: [ - CoreTagFeedComponent, - CoreTagListComponent, - ], -}) -export class CoreTagComponentsModule {} diff --git a/src/core/features/tag/components/feed/feed.ts b/src/core/features/tag/components/feed/feed.ts index 8d69e3af357..3489bc6b001 100644 --- a/src/core/features/tag/components/feed/feed.ts +++ b/src/core/features/tag/components/feed/feed.ts @@ -15,6 +15,7 @@ import { Component, Input } from '@angular/core'; import { CoreTagFeedElement } from '@features/tag/services/tag-helper'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render a tag area that uses the "core_tag/tagfeed" web template. @@ -22,6 +23,10 @@ import { CoreTagFeedElement } from '@features/tag/services/tag-helper'; @Component({ selector: 'core-tag-feed', templateUrl: 'core-tag-feed.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreTagFeedComponent { diff --git a/src/core/features/tag/components/list/list.ts b/src/core/features/tag/components/list/list.ts index 29897b7db95..f5d8c0ea6c7 100644 --- a/src/core/features/tag/components/list/list.ts +++ b/src/core/features/tag/components/list/list.ts @@ -16,6 +16,7 @@ import { Component, Input } from '@angular/core'; import { CoreTagItem } from '@features/tag/services/tag'; import { Params } from '@angular/router'; import { CoreNavigator } from '@services/navigator'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component that displays the list of tags of an item. @@ -24,6 +25,10 @@ import { CoreNavigator } from '@services/navigator'; selector: 'core-tag-list', templateUrl: 'core-tag-list.html', styleUrl: 'list.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreTagListComponent { diff --git a/src/core/features/tag/pages/index-area/index-area.ts b/src/core/features/tag/pages/index-area/index-area.ts index e5b5d58ccd1..28f749cb1e6 100644 --- a/src/core/features/tag/pages/index-area/index-area.ts +++ b/src/core/features/tag/pages/index-area/index-area.ts @@ -19,6 +19,7 @@ import { CoreTagAreaDelegate } from '../../services/tag-area-delegate'; import { Translate } from '@singletons'; import { CoreNavigator } from '@services/navigator'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the tag index area. @@ -26,6 +27,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-tag-index-area', templateUrl: 'index-area.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreTagIndexAreaPage implements OnInit { diff --git a/src/core/features/tag/pages/index/index.ts b/src/core/features/tag/pages/index/index.ts index 6b9635e77c1..8bb5809beea 100644 --- a/src/core/features/tag/pages/index/index.ts +++ b/src/core/features/tag/pages/index/index.ts @@ -22,6 +22,7 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { Translate } from '@singletons'; import { CoreUrl } from '@singletons/url'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that displays the tag index. @@ -29,6 +30,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-tag-index', templateUrl: 'index.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreTagIndexPage implements OnInit { diff --git a/src/core/features/tag/pages/search/search.ts b/src/core/features/tag/pages/search/search.ts index e0eb924b481..eddcc929aa2 100644 --- a/src/core/features/tag/pages/search/search.ts +++ b/src/core/features/tag/pages/search/search.ts @@ -24,6 +24,9 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { CoreKeyboard } from '@singletons/keyboard'; import { CoreSites } from '@services/sites'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreMainMenuUserButtonComponent } from '../../../mainmenu/components/user-menu-button/user-menu-button'; +import { CoreSearchBoxComponent } from '../../../search/components/search-box/search-box'; /** * Page that displays most used tags and allows searching. @@ -32,6 +35,12 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-tag-search', templateUrl: 'search.html', styleUrl: 'search.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreMainMenuUserButtonComponent, + CoreSearchBoxComponent, + ], }) export class CoreTagSearchPage implements OnInit { diff --git a/src/core/features/tag/tag-lazy.module.ts b/src/core/features/tag/tag-lazy.module.ts index 74622429900..e05985fdae9 100644 --- a/src/core/features/tag/tag-lazy.module.ts +++ b/src/core/features/tag/tag-lazy.module.ts @@ -13,13 +13,10 @@ // limitations under the License. import { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreSharedModule } from '@/core/shared.module'; import { Injector, NgModule } from '@angular/core'; import { Route, ROUTES, Routes } from '@angular/router'; -import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; import { CoreTagIndexAreaPage } from '@features/tag/pages/index-area/index-area'; import { CoreTagIndexPage } from '@features/tag/pages/index/index'; import { CoreTagSearchPage } from '@features/tag/pages/search/search'; @@ -76,16 +73,6 @@ function buildRoutes(injector: Injector): Routes { } @NgModule({ - imports: [ - CoreSharedModule, - CoreSearchComponentsModule, - CoreMainMenuComponentsModule, - ], - declarations: [ - CoreTagIndexPage, - CoreTagSearchPage, - CoreTagIndexAreaPage, - ], providers: [ { provide: ROUTES, diff --git a/src/core/features/tag/tag.module.ts b/src/core/features/tag/tag.module.ts index 9a19ace853e..f4f328115ed 100644 --- a/src/core/features/tag/tag.module.ts +++ b/src/core/features/tag/tag.module.ts @@ -20,7 +20,6 @@ import { CoreContentLinksDelegate } from '@features/contentlinks/services/conten import { CoreTagMainMenuHandler, CoreTagMainMenuHandlerService } from './services/handlers/mainmenu'; import { CoreTagIndexLinkHandler } from './services/handlers/index-link'; import { CoreTagSearchLinkHandler } from './services/handlers/search-link'; -import { CoreTagComponentsModule } from './components/components.module'; import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; /** @@ -51,7 +50,6 @@ const routes: Routes = [ imports: [ CoreMainMenuTabRoutingModule.forChild(routes), CoreMainMenuRoutingModule.forChild({ children: routes }), - CoreTagComponentsModule, ], providers: [ { diff --git a/src/core/features/user/components/components.module.ts b/src/core/features/user/components/components.module.ts index 2f580aa89d2..b0a18bc0c59 100644 --- a/src/core/features/user/components/components.module.ts +++ b/src/core/features/user/components/components.module.ts @@ -14,18 +14,14 @@ import { NgModule } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreUserProfileFieldComponent } from './user-profile-field/user-profile-field'; import { CoreUserTagAreaComponent } from './tag-area/tag-area'; @NgModule({ - declarations: [ + imports: [ CoreUserProfileFieldComponent, CoreUserTagAreaComponent, ], - imports: [ - CoreSharedModule, - ], exports: [ CoreUserProfileFieldComponent, CoreUserTagAreaComponent, diff --git a/src/core/features/user/components/tag-area/tag-area.ts b/src/core/features/user/components/tag-area/tag-area.ts index 27910989227..71e4b580da0 100644 --- a/src/core/features/user/components/tag-area/tag-area.ts +++ b/src/core/features/user/components/tag-area/tag-area.ts @@ -15,6 +15,7 @@ import { Component, Input } from '@angular/core'; import { CoreUserTagFeedElement } from '@features/user/services/handlers/tag-area'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to render the user tag area. @@ -22,6 +23,10 @@ import { CoreUserTagFeedElement } from '@features/user/services/handlers/tag-are @Component({ selector: 'core-user-tag-area', templateUrl: 'core-user-tag-area.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreUserTagAreaComponent { diff --git a/src/core/features/user/components/user-profile-field/user-profile-field.ts b/src/core/features/user/components/user-profile-field/user-profile-field.ts index bfbdae44bf4..e4959449627 100644 --- a/src/core/features/user/components/user-profile-field/user-profile-field.ts +++ b/src/core/features/user/components/user-profile-field/user-profile-field.ts @@ -21,6 +21,7 @@ import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profi import { CoreUtils } from '@singletons/utils'; import { ContextLevel } from '@/core/constants'; import { toBoolean } from '@/core/transforms/boolean'; +import { CoreDynamicComponent } from '../../../../components/dynamic-component/dynamic-component'; /** * Directive to render user profile field. @@ -28,6 +29,10 @@ import { toBoolean } from '@/core/transforms/boolean'; @Component({ selector: 'core-user-profile-field', templateUrl: 'core-user-profile-field.html', + standalone: true, + imports: [ + CoreDynamicComponent, + ], }) export class CoreUserProfileFieldComponent implements OnInit { diff --git a/src/core/features/user/pages/about/about.ts b/src/core/features/user/pages/about/about.ts index 65d048c99a1..4b7a8a9b871 100644 --- a/src/core/features/user/pages/about/about.ts +++ b/src/core/features/user/pages/about/about.ts @@ -34,6 +34,8 @@ import { CoreUrl } from '@singletons/url'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreTime } from '@singletons/time'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreUserProfileFieldComponent } from '../../components/user-profile-field/user-profile-field'; /** * Page that displays info about a user. @@ -42,6 +44,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; selector: 'page-core-user-about', templateUrl: 'about.html', styleUrl: 'about.scss', + standalone: true, + imports: [ + CoreSharedModule, + CoreUserProfileFieldComponent, + ], }) export class CoreUserAboutPage implements OnInit, OnDestroy { diff --git a/src/core/features/user/pages/complete-profile/complete-profile.ts b/src/core/features/user/pages/complete-profile/complete-profile.ts index 4e930652ed2..ccb4e8dedb9 100644 --- a/src/core/features/user/pages/complete-profile/complete-profile.ts +++ b/src/core/features/user/pages/complete-profile/complete-profile.ts @@ -21,6 +21,7 @@ import { CoreNavigator } from '@services/navigator'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreUserSupport } from '@features/user/services/support'; import { CoreOpener } from '@singletons/opener'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page that shows instructions to complete the profile. @@ -28,6 +29,10 @@ import { CoreOpener } from '@singletons/opener'; @Component({ selector: 'page-core-user-complete-profile', templateUrl: 'complete-profile.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreUserCompleteProfilePage implements OnDestroy { diff --git a/src/core/features/user/pages/participants/participants.module.ts b/src/core/features/user/pages/participants/participants.module.ts deleted file mode 100644 index b3e3eb4b501..00000000000 --- a/src/core/features/user/pages/participants/participants.module.ts +++ /dev/null @@ -1,31 +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 { CoreSharedModule } from '@/core/shared.module'; - -import { CoreUserParticipantsPage } from './participants.page'; -import { CoreSearchComponentsModule } from '@features/search/components/components.module'; - -@NgModule({ - imports: [ - CoreSharedModule, - CoreSearchComponentsModule, - ], - declarations: [ - CoreUserParticipantsPage, - ], -}) -export class CoreUserParticipantsPageModule {} diff --git a/src/core/features/user/pages/participants/participants.page.ts b/src/core/features/user/pages/participants/participants.ts similarity index 96% rename from src/core/features/user/pages/participants/participants.page.ts rename to src/core/features/user/pages/participants/participants.ts index 5233d32ac21..93b7705b4b5 100644 --- a/src/core/features/user/pages/participants/participants.page.ts +++ b/src/core/features/user/pages/participants/participants.ts @@ -24,6 +24,8 @@ import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { Translate } from '@singletons'; import { CoreKeyboard } from '@singletons/keyboard'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; +import { CoreSearchBoxComponent } from '../../../search/components/search-box/search-box'; /** * Page that displays the list of course participants. @@ -31,6 +33,11 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'page-core-user-participants', templateUrl: 'participants.html', + standalone: true, + imports: [ + CoreSharedModule, + CoreSearchBoxComponent, + ], }) export class CoreUserParticipantsPage implements OnInit, AfterViewInit, OnDestroy { diff --git a/src/core/features/user/pages/profile/profile.ts b/src/core/features/user/pages/profile/profile.ts index dcef301a985..cfe62e9e5b1 100644 --- a/src/core/features/user/pages/profile/profile.ts +++ b/src/core/features/user/pages/profile/profile.ts @@ -37,11 +37,16 @@ import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { Translate } from '@singletons'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; @Component({ selector: 'page-core-user-profile', templateUrl: 'profile.html', styleUrl: 'profile.scss', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreUserProfilePage implements OnInit, OnDestroy { diff --git a/src/core/features/user/user-app-lazy.module.ts b/src/core/features/user/user-app-lazy.module.ts index 5424acbeace..4d378f170b7 100644 --- a/src/core/features/user/user-app-lazy.module.ts +++ b/src/core/features/user/user-app-lazy.module.ts @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { CoreUserCompleteProfilePage } from './pages/complete-profile/complete-profile'; @@ -27,10 +26,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - ], - declarations: [ - CoreUserCompleteProfilePage, ], }) export default class CoreUserAppLazyModule {} diff --git a/src/core/features/user/user-course-lazy.module.ts b/src/core/features/user/user-course-lazy.module.ts index eebc44954b1..6822af08b44 100644 --- a/src/core/features/user/user-course-lazy.module.ts +++ b/src/core/features/user/user-course-lazy.module.ts @@ -15,10 +15,9 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreUserParticipantsPage } from './pages/participants/participants.page'; +import { CoreUserParticipantsPage } from './pages/participants/participants'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { CoreUserParticipantsPageModule } from '@features/user/pages/participants/participants.module'; const routes: Routes = [ { @@ -37,7 +36,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreUserParticipantsPageModule, ], }) export default class CoreUserCourseLazyModule {} diff --git a/src/core/features/user/user-lazy.module.ts b/src/core/features/user/user-lazy.module.ts index 76284afc73b..40d71357c8d 100644 --- a/src/core/features/user/user-lazy.module.ts +++ b/src/core/features/user/user-lazy.module.ts @@ -12,10 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreUserComponentsModule } from '@features/user/components/components.module'; import { CoreUserAboutPage } from '@features/user/pages/about/about'; const routes: Routes = [ @@ -37,11 +35,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - CoreUserComponentsModule, - ], - declarations: [ - CoreUserAboutPage, ], }) export default class CoreUserLazyModule {} diff --git a/src/core/features/user/user-profile-lazy.module.ts b/src/core/features/user/user-profile-lazy.module.ts index c3257aacacf..32248d5acc4 100644 --- a/src/core/features/user/user-profile-lazy.module.ts +++ b/src/core/features/user/user-profile-lazy.module.ts @@ -15,7 +15,6 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreUserProfilePage } from '@features/user/pages/profile/profile'; const routes: Routes = [ @@ -28,10 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - ], - declarations: [ - CoreUserProfilePage, ], }) export default class CoreUserProfileLazyModule {} diff --git a/src/core/features/user/user.module.ts b/src/core/features/user/user.module.ts index 1916281ae98..c2a504fa6e1 100644 --- a/src/core/features/user/user.module.ts +++ b/src/core/features/user/user.module.ts @@ -18,7 +18,6 @@ import { Routes } from '@angular/router'; import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; import { CORE_SITE_SCHEMAS } from '@services/sites'; import { SITE_SCHEMA, OFFLINE_SITE_SCHEMA } from './services/database/user'; -import { CoreUserComponentsModule } from './components/components.module'; import { CoreUserDelegate } from './services/user-delegate'; import { CoreUserProfileMailHandler } from './services/handlers/profile-mail'; import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; @@ -95,7 +94,6 @@ const courseIndexRoutes: Routes = [ AppRoutingModule.forChild(appRoutes), CoreMainMenuTabRoutingModule.forChild(routes), CoreCourseIndexRoutingModule.forChild({ children: courseIndexRoutes }), - CoreUserComponentsModule, ], providers: [ { diff --git a/src/core/features/usertours/components/components.module.ts b/src/core/features/usertours/components/components.module.ts deleted file mode 100644 index f2fd5852779..00000000000 --- a/src/core/features/usertours/components/components.module.ts +++ /dev/null @@ -1,34 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreUserToursUserTourComponent } from './user-tour/user-tour'; - -/** - * User Tours components module. - */ -@NgModule({ - declarations: [ - CoreUserToursUserTourComponent, - ], - imports: [ - CoreSharedModule, - ], - exports: [ - CoreUserToursUserTourComponent, - ], -}) -export class CoreUserToursComponentsModule {} diff --git a/src/core/features/usertours/components/user-tour/user-tour.ts b/src/core/features/usertours/components/user-tour/user-tour.ts index 3b829ef7278..ccb54f636c7 100644 --- a/src/core/features/usertours/components/user-tour/user-tour.ts +++ b/src/core/features/usertours/components/user-tour/user-tour.ts @@ -35,6 +35,7 @@ import { CoreDom } from '@singletons/dom'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { COLLAPSIBLE_HEADER_UPDATED } from '@directives/collapsible-header'; import { MAIN_MENU_VISIBILITY_UPDATED_EVENT } from '@features/mainmenu/constants'; +import { NgIf } from '@angular/common'; const ANIMATION_DURATION = 200; const USER_TOURS_BACK_BUTTON_PRIORITY = 100; @@ -49,6 +50,10 @@ const BACKDROP_DISMISS_SAFETY_TRESHOLD = 1000; selector: 'core-user-tours-user-tour', templateUrl: 'core-user-tours-user-tour.html', styleUrl: 'user-tour.scss', + standalone: true, + imports: [ + NgIf, + ], }) export class CoreUserToursUserTourComponent implements AfterViewInit, OnDestroy { diff --git a/src/core/features/usertours/user-tours.module.ts b/src/core/features/usertours/user-tours.module.ts index 411530abbe2..9b5ce600733 100644 --- a/src/core/features/usertours/user-tours.module.ts +++ b/src/core/features/usertours/user-tours.module.ts @@ -14,16 +14,12 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { CoreUserToursComponentsModule } from './components/components.module'; import { CoreUserTours } from './services/user-tours'; /** * User Tours module. */ @NgModule({ - imports: [ - CoreUserToursComponentsModule, - ], providers: [ { provide: APP_INITIALIZER, diff --git a/src/core/features/viewer/pages/iframe/iframe.ts b/src/core/features/viewer/pages/iframe/iframe.ts index c3cfeb8aed3..3741504fa4c 100644 --- a/src/core/features/viewer/pages/iframe/iframe.ts +++ b/src/core/features/viewer/pages/iframe/iframe.ts @@ -15,6 +15,7 @@ import { Component, OnInit } from '@angular/core'; import { CoreNavigator } from '@services/navigator'; import { CoreAlerts } from '@services/overlays/alerts'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Page to display a URL in an iframe. @@ -22,6 +23,10 @@ import { CoreAlerts } from '@services/overlays/alerts'; @Component({ selector: 'core-viewer-iframe', templateUrl: 'iframe.html', + standalone: true, + imports: [ + CoreSharedModule, + ], }) export class CoreViewerIframePage implements OnInit { diff --git a/src/core/features/viewer/viewer-lazy.module.ts b/src/core/features/viewer/viewer-lazy.module.ts index 5880afb09f4..720fd92f698 100644 --- a/src/core/features/viewer/viewer-lazy.module.ts +++ b/src/core/features/viewer/viewer-lazy.module.ts @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { CoreViewerIframePage } from '@features/viewer/pages/iframe/iframe'; @@ -27,10 +26,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - CoreSharedModule, - ], - declarations: [ - CoreViewerIframePage, ], }) export default class CoreViewerLazyModule {} From f0922480ca93e5e4ac53ab853da3f3c739333cbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Mon, 3 Feb 2025 11:02:46 +0100 Subject: [PATCH 10/16] MOBILE-4759 chore: Simplify page loading using default classes on core --- src/addons/blog/blog-lazy.module.ts | 2 +- .../features/comments/comments-lazy.module.ts | 34 ----------------- src/core/features/comments/comments.module.ts | 4 +- .../features/comments/pages/viewer/viewer.ts | 2 +- .../features/course/course-lazy.module.ts | 9 ++--- src/core/features/course/pages/index/index.ts | 2 +- .../pages/list-mod-type/list-mod-type.ts | 2 +- .../pages/module-preview/module-preview.ts | 2 +- .../features/course/services/course-helper.ts | 2 +- .../courses/courses-dashboard-lazy.module.ts | 32 ---------------- .../features/courses/courses-lazy.module.ts | 6 +-- .../courses/courses-my-lazy.module.ts | 4 +- src/core/features/courses/courses.module.ts | 2 +- .../courses/pages/categories/categories.ts | 2 +- .../courses/pages/dashboard/dashboard.ts | 2 +- src/core/features/courses/pages/list/list.ts | 2 +- src/core/features/courses/pages/my/my.ts | 2 +- .../dataprivacy/dataprivacy-lazy.module.ts | 33 ---------------- .../dataprivacy/dataprivacy.module.ts | 3 +- .../features/dataprivacy/pages/main/main.ts | 2 +- .../grades/grades-course-lazy.module.ts | 32 ---------------- .../grades-course-participants-lazy.module.ts | 5 +-- .../grades/grades-courses-lazy.module.ts | 11 ++---- src/core/features/grades/grades.module.ts | 6 +-- .../features/grades/pages/course/course.ts | 2 +- .../features/grades/pages/courses/courses.ts | 2 +- .../login/login-credentials-lazy.module.ts | 4 +- src/core/features/login/login-lazy.module.ts | 15 +++----- .../login/login-reconnect-lazy.module.ts | 4 +- .../pages/change-password/change-password.ts | 2 +- .../login/pages/credentials/credentials.ts | 2 +- .../login/pages/email-signup/email-signup.ts | 2 +- .../forgotten-password/forgotten-password.ts | 2 +- .../login/pages/reconnect/reconnect.ts | 2 +- src/core/features/login/pages/site/site.ts | 2 +- src/core/features/login/pages/sites/sites.ts | 2 +- .../features/login/tests/credentials.test.ts | 2 +- .../user-menu-button/user-menu-button.ts | 2 +- .../mainmenu/mainmenu-home-lazy.module.ts | 3 +- .../features/mainmenu/mainmenu-lazy.module.ts | 3 +- .../mainmenu/mainmenu-more-lazy.module.ts | 3 +- .../mainmenu/mainmenu-reload-lazy.module.ts | 34 ----------------- src/core/features/mainmenu/mainmenu.module.ts | 2 +- src/core/features/mainmenu/pages/home/home.ts | 2 +- src/core/features/mainmenu/pages/menu/menu.ts | 2 +- src/core/features/mainmenu/pages/more/more.ts | 2 +- .../features/mainmenu/pages/reload/reload.ts | 2 +- .../policy/pages/acceptances/acceptances.ts | 2 +- .../policy/pages/site-policy/site-policy.ts | 2 +- .../features/policy/policy-lazy.module.ts | 38 ------------------- src/core/features/policy/policy.module.ts | 13 ++++++- .../features/reportbuilder/pages/list/list.ts | 2 +- .../reportbuilder/pages/report/report.ts | 2 +- .../reportbuilder-lazy.module.ts | 36 ------------------ .../reportbuilder/reportbuilder.module.ts | 11 +++++- .../pages/global-search/global-search.ts | 2 +- .../features/search/search-lazy.module.ts | 3 +- .../features/settings/pages/about/about.ts | 2 +- src/core/features/settings/pages/dev/dev.ts | 2 +- .../settings/pages/deviceinfo/deviceinfo.ts | 2 +- .../settings/pages/error-log/error-log.ts | 2 +- .../settings/pages/general/general.ts | 2 +- .../features/settings/pages/index/index.ts | 2 +- .../settings/pages/licenses/licenses.ts | 2 +- src/core/features/settings/pages/site/site.ts | 2 +- .../settings/pages/space-usage/space-usage.ts | 2 +- .../pages/synchronization/synchronization.ts | 2 +- .../features/settings/settings-lazy.module.ts | 29 +++++--------- .../settings/settings-site-lazy.module.ts | 5 +-- .../pages/choose-site/choose-site.ts | 2 +- .../features/sharedfiles/pages/list/list.ts | 2 +- .../services/sharedfiles-helper.ts | 2 +- .../sharedfiles/sharedfiles-lazy.module.ts | 7 +--- .../features/sitehome/pages/index/index.ts | 2 +- .../features/sitehome/sitehome-lazy.module.ts | 32 ---------------- src/core/features/sitehome/sitehome.module.ts | 2 +- .../tag/pages/index-area/index-area.ts | 2 +- src/core/features/tag/pages/index/index.ts | 2 +- src/core/features/tag/pages/search/search.ts | 2 +- src/core/features/tag/tag-lazy.module.ts | 11 ++---- src/core/features/user/pages/about/about.ts | 2 +- .../complete-profile/complete-profile.ts | 2 +- .../user/pages/participants/participants.ts | 2 +- .../features/user/pages/profile/profile.ts | 2 +- .../features/user/user-app-lazy.module.ts | 31 --------------- .../features/user/user-course-lazy.module.ts | 5 +-- src/core/features/user/user-lazy.module.ts | 5 +-- .../features/user/user-profile-lazy.module.ts | 32 ---------------- src/core/features/user/user.module.ts | 6 +-- .../features/viewer/pages/iframe/iframe.ts | 2 +- .../features/viewer/viewer-lazy.module.ts | 31 --------------- src/core/features/viewer/viewer.module.ts | 7 +++- 92 files changed, 138 insertions(+), 521 deletions(-) delete mode 100644 src/core/features/comments/comments-lazy.module.ts delete mode 100644 src/core/features/courses/courses-dashboard-lazy.module.ts delete mode 100644 src/core/features/dataprivacy/dataprivacy-lazy.module.ts delete mode 100644 src/core/features/grades/grades-course-lazy.module.ts delete mode 100644 src/core/features/mainmenu/mainmenu-reload-lazy.module.ts delete mode 100644 src/core/features/policy/policy-lazy.module.ts delete mode 100644 src/core/features/reportbuilder/reportbuilder-lazy.module.ts delete mode 100644 src/core/features/sitehome/sitehome-lazy.module.ts delete mode 100644 src/core/features/user/user-app-lazy.module.ts delete mode 100644 src/core/features/user/user-profile-lazy.module.ts delete mode 100644 src/core/features/viewer/viewer-lazy.module.ts diff --git a/src/addons/blog/blog-lazy.module.ts b/src/addons/blog/blog-lazy.module.ts index 5390d49d0e9..5f38cb12df5 100644 --- a/src/addons/blog/blog-lazy.module.ts +++ b/src/addons/blog/blog-lazy.module.ts @@ -29,7 +29,7 @@ import { canLeaveGuard } from '@guards/can-leave'; return [ { path: 'index', - loadChildren: () => import('./pages/index/index'), + loadComponent: () => import('./pages/index/index'), data: { mainMenuTabRoot: ADDON_BLOG_MAINMENU_PAGE_NAME, }, diff --git a/src/core/features/comments/comments-lazy.module.ts b/src/core/features/comments/comments-lazy.module.ts deleted file mode 100644 index 7233a33425b..00000000000 --- a/src/core/features/comments/comments-lazy.module.ts +++ /dev/null @@ -1,34 +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 { CoreSharedModule } from '@/core/shared.module'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { CoreCommentsViewerPage } from '@features/comments/pages/viewer/viewer'; - -const routes: Routes = [ - { - path: ':contextLevel/:instanceId/:componentName/:itemId', - component: CoreCommentsViewerPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - CoreCommentsViewerPage, - ], -}) -export default class CoreCommentsLazyModule {} diff --git a/src/core/features/comments/comments.module.ts b/src/core/features/comments/comments.module.ts index 870882d9c2d..2c8cd0dc322 100644 --- a/src/core/features/comments/comments.module.ts +++ b/src/core/features/comments/comments.module.ts @@ -40,8 +40,8 @@ export async function getCommentsServices(): Promise[]> { const routes: Routes = [ { - path: 'comments', - loadChildren: () => import('@features/comments/comments-lazy.module'), + path: 'comments/:contextLevel/:instanceId/:componentName/:itemId', + loadComponent: () => import('@features/comments/pages/viewer/viewer'), }, ]; diff --git a/src/core/features/comments/pages/viewer/viewer.ts b/src/core/features/comments/pages/viewer/viewer.ts index b2cd332b22e..3e027cbe955 100644 --- a/src/core/features/comments/pages/viewer/viewer.ts +++ b/src/core/features/comments/pages/viewer/viewer.ts @@ -61,7 +61,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreCommentsViewerPage implements OnInit, OnDestroy, AfterViewInit { +export default class CoreCommentsViewerPage implements OnInit, OnDestroy, AfterViewInit { @ViewChild(IonContent) content?: IonContent; diff --git a/src/core/features/course/course-lazy.module.ts b/src/core/features/course/course-lazy.module.ts index cde9d8aee07..37591ca5946 100644 --- a/src/core/features/course/course-lazy.module.ts +++ b/src/core/features/course/course-lazy.module.ts @@ -15,9 +15,6 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; import { resolveIndexRoutes } from '@features/course/course-routing.module'; -import { CoreCourseIndexPage } from '@features/course/pages/index'; -import { CoreCourseListModTypePage } from '@features/course/pages/list-mod-type/list-mod-type'; -import { CoreCourseModulePreviewPage } from '@features/course/pages/module-preview/module-preview'; import { CoreCourseHelper } from './services/course-helper'; import { CORE_COURSE_INDEX_PATH } from './constants'; @@ -36,7 +33,7 @@ function buildRoutes(injector: Injector): Routes { children: [ { path: '', - component: CoreCourseIndexPage, + loadComponent: () => import('@features/course/pages/index/index'), data: { isCourseIndex: true, }, @@ -47,11 +44,11 @@ function buildRoutes(injector: Injector): Routes { }, { path: ':courseId/:cmId/module-preview', - component: CoreCourseModulePreviewPage, + loadComponent: () => import('@features/course/pages/module-preview/module-preview'), }, { path: ':courseId/list-mod-type', - component: CoreCourseListModTypePage, + loadComponent: () => import('@features/course/pages/list-mod-type/list-mod-type'), }, { path: ':courseId/summary', diff --git a/src/core/features/course/pages/index/index.ts b/src/core/features/course/pages/index/index.ts index aed927da953..cd73c7c3b1e 100644 --- a/src/core/features/course/pages/index/index.ts +++ b/src/core/features/course/pages/index/index.ts @@ -45,7 +45,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreCourseIndexPage implements OnInit, OnDestroy { +export default class CoreCourseIndexPage implements OnInit, OnDestroy { @ViewChild(CoreTabsOutletComponent) tabsComponent?: CoreTabsOutletComponent; @ViewChild('courseThumb') courseThumb?: ElementRef; diff --git a/src/core/features/course/pages/list-mod-type/list-mod-type.ts b/src/core/features/course/pages/list-mod-type/list-mod-type.ts index c52e5aa8764..f9d5ad3085d 100644 --- a/src/core/features/course/pages/list-mod-type/list-mod-type.ts +++ b/src/core/features/course/pages/list-mod-type/list-mod-type.ts @@ -42,7 +42,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreCourseModuleComponent, ], }) -export class CoreCourseListModTypePage implements OnInit { +export default class CoreCourseListModTypePage implements OnInit { private static readonly PAGE_LENGTH = 10; // How many activities should load each time showMoreActivities is called. diff --git a/src/core/features/course/pages/module-preview/module-preview.ts b/src/core/features/course/pages/module-preview/module-preview.ts index 447fb6f11fb..ade36d73d8b 100644 --- a/src/core/features/course/pages/module-preview/module-preview.ts +++ b/src/core/features/course/pages/module-preview/module-preview.ts @@ -42,7 +42,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreCourseModuleNavigationComponent, ], }) -export class CoreCourseModulePreviewPage implements OnInit { +export default class CoreCourseModulePreviewPage implements OnInit { title!: string; module!: CoreCourseModuleData; diff --git a/src/core/features/course/services/course-helper.ts b/src/core/features/course/services/course-helper.ts index 21a6b6cd482..4f51e2636e8 100644 --- a/src/core/features/course/services/course-helper.ts +++ b/src/core/features/course/services/course-helper.ts @@ -1981,7 +1981,7 @@ export class CoreCourseHelperProvider { * @param course Course selected */ async openCourseSummary(course: CoreCourseWithImageAndColor & CoreCourseAnyCourseData): Promise { - const { CoreCourseSummaryPage } = await import('../pages/course-summary/course-summary'); + const { CoreCourseSummaryPage } = await import('@features/course/pages/course-summary/course-summary'); CoreModals.openSideModal({ component: CoreCourseSummaryPage, diff --git a/src/core/features/courses/courses-dashboard-lazy.module.ts b/src/core/features/courses/courses-dashboard-lazy.module.ts deleted file mode 100644 index 70aa63fb435..00000000000 --- a/src/core/features/courses/courses-dashboard-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 { CoreCoursesDashboardPage } from '@features/courses/pages/dashboard/dashboard'; - -const routes: Routes = [ - { - path: '', - component: CoreCoursesDashboardPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreCoursesDashboardLazyModule {} diff --git a/src/core/features/courses/courses-lazy.module.ts b/src/core/features/courses/courses-lazy.module.ts index 9cbab3e514a..a000755da81 100644 --- a/src/core/features/courses/courses-lazy.module.ts +++ b/src/core/features/courses/courses-lazy.module.ts @@ -14,8 +14,6 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; -import { CoreCoursesCategoriesPage } from '@features/courses/pages/categories/categories'; -import { CoreCoursesListPage } from '@features/courses/pages/list/list'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; import { CoreCoursesHelper } from './services/courses-helper'; import { CoreCoursesMyCoursesMainMenuHandlerService } from './services/handlers/my-courses-mainmenu'; @@ -42,11 +40,11 @@ function buildRoutes(injector: Injector): Routes { }, { path: 'categories/:id', - component: CoreCoursesCategoriesPage, + loadComponent: () => import('@features/courses/pages/categories/categories'), }, { path: 'list', - component: CoreCoursesListPage, + loadComponent: () => import('@features/courses/pages/list/list'), }, ...buildTabMainRoutes(injector, { redirectTo: 'my', diff --git a/src/core/features/courses/courses-my-lazy.module.ts b/src/core/features/courses/courses-my-lazy.module.ts index 598e8517c6e..769840d33c0 100644 --- a/src/core/features/courses/courses-my-lazy.module.ts +++ b/src/core/features/courses/courses-my-lazy.module.ts @@ -15,12 +15,10 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreCoursesMyPage } from '@features/courses/pages/my/my'; - const routes: Routes = [ { path: '', - component: CoreCoursesMyPage, + loadComponent: () => import('@features/courses/pages/my/my'), }, ]; diff --git a/src/core/features/courses/courses.module.ts b/src/core/features/courses/courses.module.ts index 0b06ad7f58c..ba6c92ff015 100644 --- a/src/core/features/courses/courses.module.ts +++ b/src/core/features/courses/courses.module.ts @@ -91,7 +91,7 @@ export async function getCoursesExportedObjects(): Promise import('./courses-dashboard-lazy.module'), + loadComponent: () => import('@features/courses/pages/dashboard/dashboard'), }, ]; diff --git a/src/core/features/courses/pages/categories/categories.ts b/src/core/features/courses/pages/categories/categories.ts index c75f07b3ecf..486c91d0989 100644 --- a/src/core/features/courses/pages/categories/categories.ts +++ b/src/core/features/courses/pages/categories/categories.ts @@ -42,7 +42,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreCoursesCourseListItemComponent, ], }) -export class CoreCoursesCategoriesPage implements OnInit, OnDestroy { +export default class CoreCoursesCategoriesPage implements OnInit, OnDestroy { title: string; currentCategory?: CoreCategoryData; diff --git a/src/core/features/courses/pages/dashboard/dashboard.ts b/src/core/features/courses/pages/dashboard/dashboard.ts index c3def2bbb40..3a629fbdb70 100644 --- a/src/core/features/courses/pages/dashboard/dashboard.ts +++ b/src/core/features/courses/pages/dashboard/dashboard.ts @@ -43,7 +43,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreBlockSideBlocksButtonComponent, ], }) -export class CoreCoursesDashboardPage implements OnInit, OnDestroy { +export default class CoreCoursesDashboardPage implements OnInit, OnDestroy { @ViewChildren(CoreBlockComponent) blocksComponents?: QueryList; diff --git a/src/core/features/courses/pages/list/list.ts b/src/core/features/courses/pages/list/list.ts index ea3bf8c44db..a0ee057292b 100644 --- a/src/core/features/courses/pages/list/list.ts +++ b/src/core/features/courses/pages/list/list.ts @@ -48,7 +48,7 @@ type CoreCoursesListMode = 'search' | 'all' | 'my'; CoreCoursesCourseListItemComponent, ], }) -export class CoreCoursesListPage implements OnInit, OnDestroy { +export default class CoreCoursesListPage implements OnInit, OnDestroy { downloadAllCoursesEnabled = false; diff --git a/src/core/features/courses/pages/my/my.ts b/src/core/features/courses/pages/my/my.ts index effd343da3e..e0021c7a974 100644 --- a/src/core/features/courses/pages/my/my.ts +++ b/src/core/features/courses/pages/my/my.ts @@ -56,7 +56,7 @@ import { CoreBlockSideBlocksButtonComponent } from '../../../block/components/si CoreBlockSideBlocksButtonComponent, ], }) -export class CoreCoursesMyPage implements OnInit, OnDestroy, AsyncDirective { +export default class CoreCoursesMyPage implements OnInit, OnDestroy, AsyncDirective { @ViewChild(CoreBlockComponent) block!: CoreBlockComponent; diff --git a/src/core/features/dataprivacy/dataprivacy-lazy.module.ts b/src/core/features/dataprivacy/dataprivacy-lazy.module.ts deleted file mode 100644 index 834e5a51093..00000000000 --- a/src/core/features/dataprivacy/dataprivacy-lazy.module.ts +++ /dev/null @@ -1,33 +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 { CoreDataPrivacyMainPage } from './pages/main/main'; - -const routes: Routes = [ - { - path: '', - pathMatch: 'full', - component: CoreDataPrivacyMainPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreDataPrivacyLazyModule {} diff --git a/src/core/features/dataprivacy/dataprivacy.module.ts b/src/core/features/dataprivacy/dataprivacy.module.ts index 75e9e7de5fa..9e6254390ad 100644 --- a/src/core/features/dataprivacy/dataprivacy.module.ts +++ b/src/core/features/dataprivacy/dataprivacy.module.ts @@ -25,7 +25,8 @@ import { CoreDataPrivacyCreateDataRequestLinkHandler } from './services/handlers const routes: Routes = [ { path: CORE_DATAPRIVACY_PAGE_NAME, - loadChildren: () => import('./dataprivacy-lazy.module'), + pathMatch: 'full', + loadComponent: () => import('@features/dataprivacy/pages/main/main'), }, ]; diff --git a/src/core/features/dataprivacy/pages/main/main.ts b/src/core/features/dataprivacy/pages/main/main.ts index 45e4cb2b727..381c613ecdc 100644 --- a/src/core/features/dataprivacy/pages/main/main.ts +++ b/src/core/features/dataprivacy/pages/main/main.ts @@ -41,7 +41,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreDataPrivacyMainPage implements OnInit { +export default class CoreDataPrivacyMainPage implements OnInit { accessInfo?: CoreDataPrivacyGetAccessInformationWSResponse; requests: CoreDataPrivacyRequestToDisplay[] = []; diff --git a/src/core/features/grades/grades-course-lazy.module.ts b/src/core/features/grades/grades-course-lazy.module.ts deleted file mode 100644 index 86cf6ece81b..00000000000 --- a/src/core/features/grades/grades-course-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 { CoreGradesCoursePage } from './pages/course/course'; - -const routes: Routes = [ - { - path: '', - component: CoreGradesCoursePage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreGradesCourseLazyModule {} diff --git a/src/core/features/grades/grades-course-participants-lazy.module.ts b/src/core/features/grades/grades-course-participants-lazy.module.ts index b06c860ffdf..859b2acf49a 100644 --- a/src/core/features/grades/grades-course-participants-lazy.module.ts +++ b/src/core/features/grades/grades-course-participants-lazy.module.ts @@ -16,17 +16,16 @@ import { conditionalRoutes } from '@/app/app-routing.module'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreUserParticipantsPage } from '@features/user/pages/participants/participants'; import { CoreScreen } from '@services/screen'; const routes: Routes = [ { path: '', - component: CoreUserParticipantsPage, + loadComponent: () => import('@features/user/pages/participants/participants'), children: conditionalRoutes([ { path: ':userId', - loadChildren: () => import('./grades-course-lazy.module'), + loadComponent: () => import('@features/grades/pages/course/course'), data: { swipeManagerSource: 'participants' }, }, ], () => CoreScreen.isTablet), diff --git a/src/core/features/grades/grades-courses-lazy.module.ts b/src/core/features/grades/grades-courses-lazy.module.ts index e959604fdc6..9c3d041f54b 100644 --- a/src/core/features/grades/grades-courses-lazy.module.ts +++ b/src/core/features/grades/grades-courses-lazy.module.ts @@ -18,28 +18,25 @@ import { RouterModule, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { CoreGradesCoursePage } from './pages/course/course'; -import { CoreGradesCoursesPage } from './pages/courses/courses'; - const mobileRoutes: Routes = [ { path: '', - component: CoreGradesCoursesPage, + loadComponent: () => import('@features/grades/pages/courses/courses'), }, { path: ':courseId', - component: CoreGradesCoursePage, + loadComponent: () => import('@features/grades/pages/course/course'), }, ]; const tabletRoutes: Routes = [ { path: '', - component: CoreGradesCoursesPage, + loadComponent: () => import('@features/grades/pages/courses/courses'), children: [ { path: ':courseId', - component: CoreGradesCoursePage, + loadComponent: () => import('@features/grades/pages/course/course'), }, ], }, diff --git a/src/core/features/grades/grades.module.ts b/src/core/features/grades/grades.module.ts index 40527316fa3..5634fbd1d39 100644 --- a/src/core/features/grades/grades.module.ts +++ b/src/core/features/grades/grades.module.ts @@ -54,12 +54,12 @@ const mainMenuChildrenRoutes: Routes = [ }, { path: `${CORE_COURSE_PAGE_NAME}/:courseId/${PARTICIPANTS_PAGE_NAME}/:userId/${GRADES_PAGE_NAME}`, - loadChildren: () => import('./grades-course-lazy.module'), + loadComponent: () => import('@features/grades/pages/course/course'), }, ...conditionalRoutes([ { path: `${CORE_COURSE_PAGE_NAME}/${CORE_COURSE_INDEX_PATH}/${GRADES_PARTICIPANTS_PAGE_NAME}/:userId`, - loadChildren: () => import('./grades-course-lazy.module'), + loadComponent: () => import('@features/grades/pages/course/course'), data: { swipeManagerSource: 'participants' }, }, ], () => CoreScreen.isMobile), @@ -68,7 +68,7 @@ const mainMenuChildrenRoutes: Routes = [ const courseIndexRoutes: Routes = [ { path: GRADES_PAGE_NAME, - loadChildren: () => import('./grades-course-lazy.module'), + loadComponent: () => import('@features/grades/pages/course/course'), }, { path: GRADES_PARTICIPANTS_PAGE_NAME, diff --git a/src/core/features/grades/pages/course/course.ts b/src/core/features/grades/pages/course/course.ts index 38702085fd2..fb56143f2a9 100644 --- a/src/core/features/grades/pages/course/course.ts +++ b/src/core/features/grades/pages/course/course.ts @@ -49,7 +49,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreGradesCoursePage implements AfterViewInit, OnDestroy { +export default class CoreGradesCoursePage implements AfterViewInit, OnDestroy { courseId!: number; userId!: number; diff --git a/src/core/features/grades/pages/courses/courses.ts b/src/core/features/grades/pages/courses/courses.ts index 5e4d7dccba1..3e427492174 100644 --- a/src/core/features/grades/pages/courses/courses.ts +++ b/src/core/features/grades/pages/courses/courses.ts @@ -37,7 +37,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreGradesCoursesPage implements OnDestroy, AfterViewInit { +export default class CoreGradesCoursesPage implements OnDestroy, AfterViewInit { courses: CoreGradesCoursesManager; diff --git a/src/core/features/login/login-credentials-lazy.module.ts b/src/core/features/login/login-credentials-lazy.module.ts index 15032b1e5c5..920ab6487bf 100644 --- a/src/core/features/login/login-credentials-lazy.module.ts +++ b/src/core/features/login/login-credentials-lazy.module.ts @@ -15,12 +15,10 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreLoginCredentialsPage } from '@features/login/pages/credentials/credentials'; - const routes: Routes = [ { path: '', - component: CoreLoginCredentialsPage, + loadComponent: () => import('@features/login/pages/credentials/credentials'), }, ]; diff --git a/src/core/features/login/login-lazy.module.ts b/src/core/features/login/login-lazy.module.ts index 668f01731c5..9fefe48eb10 100644 --- a/src/core/features/login/login-lazy.module.ts +++ b/src/core/features/login/login-lazy.module.ts @@ -17,11 +17,6 @@ import { RouterModule, Routes } from '@angular/router'; import { hasSitesGuard } from './guards/has-sites'; import { CoreLoginHelper } from './services/login-helper'; -import { CoreLoginForgottenPasswordPage } from '@features/login/pages/forgotten-password/forgotten-password'; -import { CoreLoginEmailSignupPage } from '@features/login/pages/email-signup/email-signup'; -import { CoreLoginSitePage } from '@features/login/pages/site/site'; -import { CoreLoginSitesPage } from '@features/login/pages/sites/sites'; -import { CoreLoginChangePasswordPage } from '@features/login/pages/change-password/change-password'; const routes: Routes = [ { @@ -31,7 +26,7 @@ const routes: Routes = [ }, { path: 'site', - component: CoreLoginSitePage, + loadComponent: () => import('@features/login/pages/site/site'), }, { path: 'credentials', @@ -39,20 +34,20 @@ const routes: Routes = [ }, { path: 'sites', - component: CoreLoginSitesPage, + loadComponent: () => import('@features/login/pages/sites/sites'), canActivate: [hasSitesGuard], }, { path: 'forgottenpassword', - component: CoreLoginForgottenPasswordPage, + loadComponent: () => import('@features/login/pages/forgotten-password/forgotten-password'), }, { path: 'changepassword', - component: CoreLoginChangePasswordPage, + loadComponent: () => import('@features/login/pages/change-password/change-password'), }, { path: 'emailsignup', - component: CoreLoginEmailSignupPage, + loadComponent: () => import('@features/login/pages/email-signup/email-signup'), }, { path: 'reconnect', diff --git a/src/core/features/login/login-reconnect-lazy.module.ts b/src/core/features/login/login-reconnect-lazy.module.ts index e51d8b6b0ba..acf00c020c8 100644 --- a/src/core/features/login/login-reconnect-lazy.module.ts +++ b/src/core/features/login/login-reconnect-lazy.module.ts @@ -15,12 +15,10 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreLoginReconnectPage } from '@features/login/pages/reconnect/reconnect'; - const routes: Routes = [ { path: '', - component: CoreLoginReconnectPage, + loadComponent: () => import('@features/login/pages/reconnect/reconnect'), }, ]; diff --git a/src/core/features/login/pages/change-password/change-password.ts b/src/core/features/login/pages/change-password/change-password.ts index 51fba73d45f..5819fff4309 100644 --- a/src/core/features/login/pages/change-password/change-password.ts +++ b/src/core/features/login/pages/change-password/change-password.ts @@ -34,7 +34,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreLoginChangePasswordPage implements OnDestroy { +export default class CoreLoginChangePasswordPage implements OnDestroy { changingPassword = false; logoutLabel: string; diff --git a/src/core/features/login/pages/credentials/credentials.ts b/src/core/features/login/pages/credentials/credentials.ts index 6f367a41d30..754836f6743 100644 --- a/src/core/features/login/pages/credentials/credentials.ts +++ b/src/core/features/login/pages/credentials/credentials.ts @@ -62,7 +62,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreLoginMethodsComponent, ], }) -export class CoreLoginCredentialsPage implements OnInit, OnDestroy { +export default class CoreLoginCredentialsPage implements OnInit, OnDestroy { @ViewChild('credentialsForm') formElement?: ElementRef; diff --git a/src/core/features/login/pages/email-signup/email-signup.ts b/src/core/features/login/pages/email-signup/email-signup.ts index 3a214837f84..686b0f9388f 100644 --- a/src/core/features/login/pages/email-signup/email-signup.ts +++ b/src/core/features/login/pages/email-signup/email-signup.ts @@ -55,7 +55,7 @@ import { CoreUserProfileFieldComponent } from '@features/user/components/user-pr CoreUserProfileFieldComponent, ], }) -export class CoreLoginEmailSignupPage implements OnInit { +export default class CoreLoginEmailSignupPage implements OnInit { // Accept A-Z in strict chars pattern to be able to differentiate it from the lowercase pattern. protected static readonly USERNAME_STRICT_CHARS_PATTERN = '^[A-Z-.@_a-z0-9]*$'; diff --git a/src/core/features/login/pages/forgotten-password/forgotten-password.ts b/src/core/features/login/pages/forgotten-password/forgotten-password.ts index be7df5e0deb..2159b77b258 100644 --- a/src/core/features/login/pages/forgotten-password/forgotten-password.ts +++ b/src/core/features/login/pages/forgotten-password/forgotten-password.ts @@ -40,7 +40,7 @@ import { CoreLoginExceededAttemptsComponent } from '../../components/exceeded-at CoreLoginExceededAttemptsComponent, ], }) -export class CoreLoginForgottenPasswordPage implements OnInit { +export default class CoreLoginForgottenPasswordPage implements OnInit { @ViewChild('resetPasswordForm') formElement?: ElementRef; diff --git a/src/core/features/login/pages/reconnect/reconnect.ts b/src/core/features/login/pages/reconnect/reconnect.ts index d1c0298e8e8..7e707dbea2a 100644 --- a/src/core/features/login/pages/reconnect/reconnect.ts +++ b/src/core/features/login/pages/reconnect/reconnect.ts @@ -56,7 +56,7 @@ import { CoreLoginIdentityProviderComponent } from '../../components/identity-pr CoreLoginMethodsComponent, ], }) -export class CoreLoginReconnectPage implements OnInit, OnDestroy { +export default class CoreLoginReconnectPage implements OnInit, OnDestroy { @ViewChild('reconnectForm') formElement?: ElementRef; @ViewChild(CoreLoginMethodsComponent) set loginMethods(loginMethods: CoreLoginMethodsComponent) { diff --git a/src/core/features/login/pages/site/site.ts b/src/core/features/login/pages/site/site.ts index 03026840335..fdab5a03456 100644 --- a/src/core/features/login/pages/site/site.ts +++ b/src/core/features/login/pages/site/site.ts @@ -65,7 +65,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreLoginSitePage implements OnInit { +export default class CoreLoginSitePage implements OnInit { @ViewChild('siteFormEl') formElement?: ElementRef; diff --git a/src/core/features/login/pages/sites/sites.ts b/src/core/features/login/pages/sites/sites.ts index 0ee7470af21..7c3c89a7a31 100644 --- a/src/core/features/login/pages/sites/sites.ts +++ b/src/core/features/login/pages/sites/sites.ts @@ -35,7 +35,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreLoginSitesPage implements OnInit { +export default class CoreLoginSitesPage implements OnInit { accountsList: CoreAccountsList = { sameSite: [], diff --git a/src/core/features/login/tests/credentials.test.ts b/src/core/features/login/tests/credentials.test.ts index 3e18eb709f1..c27ac78c8de 100644 --- a/src/core/features/login/tests/credentials.test.ts +++ b/src/core/features/login/tests/credentials.test.ts @@ -15,7 +15,7 @@ import { CoreSharedModule } from '@/core/shared.module'; import { findElement, mock, mockSingleton, renderPageComponent, requireElement } from '@/testing/utils'; import { CoreLoginError } from '@classes/errors/loginerror'; -import { CoreLoginCredentialsPage } from '@features/login/pages/credentials/credentials'; +import CoreLoginCredentialsPage from '@features/login/pages/credentials/credentials'; import { CoreLang } from '@services/lang'; import { CoreSites } from '@services/sites'; import { Http } from '@singletons'; diff --git a/src/core/features/mainmenu/components/user-menu-button/user-menu-button.ts b/src/core/features/mainmenu/components/user-menu-button/user-menu-button.ts index 7d384989354..e09c6657da0 100644 --- a/src/core/features/mainmenu/components/user-menu-button/user-menu-button.ts +++ b/src/core/features/mainmenu/components/user-menu-button/user-menu-button.ts @@ -21,7 +21,7 @@ import { CoreScreen } from '@services/screen'; import { CoreSites } from '@services/sites'; import { CoreModals } from '@services/overlays/modals'; import { CoreMainMenuUserMenuTourComponent } from '../user-menu-tour/user-menu-tour'; -import { CoreMainMenuPage } from '@features/mainmenu/pages/menu/menu'; +import CoreMainMenuPage from '@features/mainmenu/pages/menu/menu'; import { toBoolean } from '@/core/transforms/boolean'; import { CoreSharedModule } from '@/core/shared.module'; diff --git a/src/core/features/mainmenu/mainmenu-home-lazy.module.ts b/src/core/features/mainmenu/mainmenu-home-lazy.module.ts index f7423137053..d02eee6f0f3 100644 --- a/src/core/features/mainmenu/mainmenu-home-lazy.module.ts +++ b/src/core/features/mainmenu/mainmenu-home-lazy.module.ts @@ -18,7 +18,6 @@ import { ROUTES, Routes } from '@angular/router'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/handlers/mainmenu'; import { resolveHomeRoutes } from '@features/mainmenu/mainmenu-home-routing.module'; -import { CoreMainMenuHomePage } from '@features/mainmenu/pages/home/home'; /** * Build module routes. @@ -35,7 +34,7 @@ function buildRoutes(injector: Injector): Routes { data: { mainMenuTabRoot: CoreMainMenuHomeHandlerService.PAGE_NAME, }, - component: CoreMainMenuHomePage, + loadComponent: () => import('@features/mainmenu/pages/home/home'), children: routes.children, }), ...routes.siblings, diff --git a/src/core/features/mainmenu/mainmenu-lazy.module.ts b/src/core/features/mainmenu/mainmenu-lazy.module.ts index 8804875c750..6935d73291e 100644 --- a/src/core/features/mainmenu/mainmenu-lazy.module.ts +++ b/src/core/features/mainmenu/mainmenu-lazy.module.ts @@ -16,7 +16,6 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; import { resolveMainMenuRoutes } from './mainmenu-routing.module'; -import { CoreMainMenuPage } from './pages/menu/menu'; import { CoreMainMenuHomeHandlerService } from './services/handlers/mainmenu'; import { MAIN_MENU_MORE_PAGE_NAME } from './constants'; @@ -32,7 +31,7 @@ function buildRoutes(injector: Injector): Routes { return [ { path: '', - component: CoreMainMenuPage, + loadComponent: () => import('@features/mainmenu/pages/menu/menu'), children: [ { path: CoreMainMenuHomeHandlerService.PAGE_NAME, diff --git a/src/core/features/mainmenu/mainmenu-more-lazy.module.ts b/src/core/features/mainmenu/mainmenu-more-lazy.module.ts index 3072cdd0602..f8087df8e0d 100644 --- a/src/core/features/mainmenu/mainmenu-more-lazy.module.ts +++ b/src/core/features/mainmenu/mainmenu-more-lazy.module.ts @@ -16,7 +16,6 @@ import { Injector, NgModule } from '@angular/core'; import { Routes, ROUTES } from '@angular/router'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; -import { CoreMainMenuMorePage } from '@features/mainmenu/pages/more/more'; import { MAIN_MENU_MORE_PAGE_NAME } from './constants'; /** @@ -27,7 +26,7 @@ import { MAIN_MENU_MORE_PAGE_NAME } from './constants'; */ function buildRoutes(injector: Injector): Routes { return buildTabMainRoutes(injector, { - component: CoreMainMenuMorePage, + loadComponent: () => import('@features/mainmenu/pages/more/more'), data: { mainMenuTabRoot: MAIN_MENU_MORE_PAGE_NAME, }, diff --git a/src/core/features/mainmenu/mainmenu-reload-lazy.module.ts b/src/core/features/mainmenu/mainmenu-reload-lazy.module.ts deleted file mode 100644 index b2bbcf084c6..00000000000 --- a/src/core/features/mainmenu/mainmenu-reload-lazy.module.ts +++ /dev/null @@ -1,34 +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 { CoreSharedModule } from '@/core/shared.module'; -import { CoreMainMenuReloadPage } from '@features/mainmenu/pages/reload/reload'; - -const routes: Routes = [ - { - path: '', - component: CoreMainMenuReloadPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - CoreSharedModule, - CoreMainMenuReloadPage, - ], -}) -export default class CoreMainMenuReloadLazyModule {} diff --git a/src/core/features/mainmenu/mainmenu.module.ts b/src/core/features/mainmenu/mainmenu.module.ts index fa4e0354bef..730bd26ef3b 100644 --- a/src/core/features/mainmenu/mainmenu.module.ts +++ b/src/core/features/mainmenu/mainmenu.module.ts @@ -77,7 +77,7 @@ const appRoutes: Routes = [ }, { path: 'reload', - loadChildren: () => import('./mainmenu-reload-lazy.module'), + loadComponent: () => import('@features/mainmenu/pages/reload/reload'), }, ]; diff --git a/src/core/features/mainmenu/pages/home/home.ts b/src/core/features/mainmenu/pages/home/home.ts index e9e80794e1d..5ebcc0f4515 100644 --- a/src/core/features/mainmenu/pages/home/home.ts +++ b/src/core/features/mainmenu/pages/home/home.ts @@ -38,7 +38,7 @@ import { CoreMainMenuUserButtonComponent } from '../../components/user-menu-butt CoreMainMenuUserButtonComponent, ], }) -export class CoreMainMenuHomePage implements OnInit { +export default class CoreMainMenuHomePage implements OnInit { @ViewChild(CoreTabsOutletComponent) tabsComponent?: CoreTabsOutletComponent; diff --git a/src/core/features/mainmenu/pages/menu/menu.ts b/src/core/features/mainmenu/pages/menu/menu.ts index 4fb394f3a2a..e1d0ae8eeab 100644 --- a/src/core/features/mainmenu/pages/menu/menu.ts +++ b/src/core/features/mainmenu/pages/menu/menu.ts @@ -78,7 +78,7 @@ const ANIMATION_DURATION = 500; CoreMainMenuUserButtonComponent, ], }) -export class CoreMainMenuPage implements OnInit, OnDestroy { +export default class CoreMainMenuPage implements OnInit, OnDestroy { tabs: CoreMainMenuHandlerToDisplay[] = []; allHandlers?: CoreMainMenuHandlerToDisplay[]; diff --git a/src/core/features/mainmenu/pages/more/more.ts b/src/core/features/mainmenu/pages/more/more.ts index e9454431629..99d613f951a 100644 --- a/src/core/features/mainmenu/pages/more/more.ts +++ b/src/core/features/mainmenu/pages/more/more.ts @@ -40,7 +40,7 @@ import { CoreMainMenuUserButtonComponent } from '../../components/user-menu-butt CoreMainMenuUserButtonComponent, ], }) -export class CoreMainMenuMorePage implements OnInit, OnDestroy { +export default class CoreMainMenuMorePage implements OnInit, OnDestroy { handlers?: CoreMainMenuHandlerData[]; handlersLoaded = false; diff --git a/src/core/features/mainmenu/pages/reload/reload.ts b/src/core/features/mainmenu/pages/reload/reload.ts index fcf9a24e60f..e80beb56f01 100644 --- a/src/core/features/mainmenu/pages/reload/reload.ts +++ b/src/core/features/mainmenu/pages/reload/reload.ts @@ -27,7 +27,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreMainMenuReloadPage implements OnInit { +export default class CoreMainMenuReloadPage implements OnInit { /** * @inheritdoc diff --git a/src/core/features/policy/pages/acceptances/acceptances.ts b/src/core/features/policy/pages/acceptances/acceptances.ts index 6d29b0ffa15..24429ee225e 100644 --- a/src/core/features/policy/pages/acceptances/acceptances.ts +++ b/src/core/features/policy/pages/acceptances/acceptances.ts @@ -42,7 +42,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CorePolicyAcceptancesPage implements OnInit, OnDestroy { +export default class CorePolicyAcceptancesPage implements OnInit, OnDestroy { dataLoaded = false; policies: ActiveSitePolicy[] = []; diff --git a/src/core/features/policy/pages/site-policy/site-policy.ts b/src/core/features/policy/pages/site-policy/site-policy.ts index 99da86c6000..a260110585e 100644 --- a/src/core/features/policy/pages/site-policy/site-policy.ts +++ b/src/core/features/policy/pages/site-policy/site-policy.ts @@ -47,7 +47,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CorePolicySitePolicyPage implements OnInit, OnDestroy { +export default class CorePolicySitePolicyPage implements OnInit, OnDestroy { @ViewChild(IonContent) content?: IonContent; diff --git a/src/core/features/policy/policy-lazy.module.ts b/src/core/features/policy/policy-lazy.module.ts deleted file mode 100644 index 6b450c98cac..00000000000 --- a/src/core/features/policy/policy-lazy.module.ts +++ /dev/null @@ -1,38 +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 { CorePolicySitePolicyPage } from '@features/policy/pages/site-policy/site-policy'; -import { ACCEPTANCES_PAGE_NAME, SITE_POLICY_PAGE_NAME } from './constants'; -import { CorePolicyAcceptancesPage } from './pages/acceptances/acceptances'; - -const routes: Routes = [ - { - path: SITE_POLICY_PAGE_NAME, - component: CorePolicySitePolicyPage, - }, - { - path: ACCEPTANCES_PAGE_NAME, - component: CorePolicyAcceptancesPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CorePolicyLazyModule {} diff --git a/src/core/features/policy/policy.module.ts b/src/core/features/policy/policy.module.ts index 9750842f3f6..ce996683f13 100644 --- a/src/core/features/policy/policy.module.ts +++ b/src/core/features/policy/policy.module.ts @@ -17,7 +17,7 @@ import { Routes } from '@angular/router'; import { AppRoutingModule } from '@/app/app-routing.module'; import { CoreEvents } from '@singletons/events'; -import { POLICY_PAGE_NAME } from './constants'; +import { ACCEPTANCES_PAGE_NAME, POLICY_PAGE_NAME, SITE_POLICY_PAGE_NAME } from './constants'; import { CoreUserDelegate } from '@features/user/services/user-delegate'; import { CorePolicyUserHandler } from './services/handlers/user'; import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; @@ -27,7 +27,16 @@ import { CoreContentLinksDelegate } from '@features/contentlinks/services/conten const routes: Routes = [ { path: POLICY_PAGE_NAME, - loadChildren: () => import('./policy-lazy.module'), + children: [ + { + path: SITE_POLICY_PAGE_NAME, + loadComponent: () => import('@features/policy/pages/site-policy/site-policy'), + }, + { + path: ACCEPTANCES_PAGE_NAME, + loadComponent: () => import('@features/policy/pages/acceptances/acceptances'), + }, + ], }, ]; diff --git a/src/core/features/reportbuilder/pages/list/list.ts b/src/core/features/reportbuilder/pages/list/list.ts index a506ef78d9b..59692d186a7 100644 --- a/src/core/features/reportbuilder/pages/list/list.ts +++ b/src/core/features/reportbuilder/pages/list/list.ts @@ -35,7 +35,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreReportBuilderListPage implements AfterViewInit, OnDestroy { +export default class CoreReportBuilderListPage implements AfterViewInit, OnDestroy { reports!: CoreListItemsManager; diff --git a/src/core/features/reportbuilder/pages/report/report.ts b/src/core/features/reportbuilder/pages/report/report.ts index 12ec71317da..2f3fa358c52 100644 --- a/src/core/features/reportbuilder/pages/report/report.ts +++ b/src/core/features/reportbuilder/pages/report/report.ts @@ -28,7 +28,7 @@ import { CoreReportBuilderReportDetailComponent } from '../../components/report- CoreReportBuilderReportDetailComponent, ], }) -export class CoreReportBuilderReportPage implements OnInit { +export default class CoreReportBuilderReportPage implements OnInit { reportId!: string; reportDetail?: CoreReportBuilderReportDetail; diff --git a/src/core/features/reportbuilder/reportbuilder-lazy.module.ts b/src/core/features/reportbuilder/reportbuilder-lazy.module.ts deleted file mode 100644 index 0887373e3f8..00000000000 --- a/src/core/features/reportbuilder/reportbuilder-lazy.module.ts +++ /dev/null @@ -1,36 +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 { CoreReportBuilderListPage } from './pages/list/list'; -import { CoreReportBuilderReportPage } from './pages/report/report'; - -const routes: Routes = [ - { - path: '', - component: CoreReportBuilderListPage, - }, - { - path: ':id', - component: CoreReportBuilderReportPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreReportBuilderLazyModule {} diff --git a/src/core/features/reportbuilder/reportbuilder.module.ts b/src/core/features/reportbuilder/reportbuilder.module.ts index ba5cdca4b28..f5b93830c4a 100644 --- a/src/core/features/reportbuilder/reportbuilder.module.ts +++ b/src/core/features/reportbuilder/reportbuilder.module.ts @@ -23,7 +23,16 @@ import { CoreReportBuilderHandler, CoreReportBuilderHandlerService } from './ser const routes: Routes = [ { path: CoreReportBuilderHandlerService.PAGE_NAME, - loadChildren: () => import('./reportbuilder-lazy.module'), + children: [ + { + path: '', + loadComponent: () => import('@features/reportbuilder/pages/list/list'), + }, + { + path: ':id', + loadComponent: () => import('@features/reportbuilder/pages/report/report'), + }, + ], }, ]; diff --git a/src/core/features/search/pages/global-search/global-search.ts b/src/core/features/search/pages/global-search/global-search.ts index 2c957fc528e..18e0b5c1ac4 100644 --- a/src/core/features/search/pages/global-search/global-search.ts +++ b/src/core/features/search/pages/global-search/global-search.ts @@ -46,7 +46,7 @@ import { CoreSearchGlobalSearchResultComponent } from '../../components/global-s CoreSearchGlobalSearchResultComponent, ], }) -export class CoreSearchGlobalSearchPage implements OnInit, OnDestroy, AfterViewInit { +export default class CoreSearchGlobalSearchPage implements OnInit, OnDestroy, AfterViewInit { courseId: number | null = null; loadMoreError = false; diff --git a/src/core/features/search/search-lazy.module.ts b/src/core/features/search/search-lazy.module.ts index 170828a8885..8c535d02560 100644 --- a/src/core/features/search/search-lazy.module.ts +++ b/src/core/features/search/search-lazy.module.ts @@ -14,7 +14,6 @@ import { NgModule, Injector } from '@angular/core'; import { Routes, ROUTES } from '@angular/router'; -import { CoreSearchGlobalSearchPage } from './pages/global-search/global-search'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; /** @@ -25,7 +24,7 @@ import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.modu */ function buildRoutes(injector: Injector): Routes { return buildTabMainRoutes(injector, { - component: CoreSearchGlobalSearchPage, + loadComponent: () => import('@features/search/pages/global-search/global-search'), }); } diff --git a/src/core/features/settings/pages/about/about.ts b/src/core/features/settings/pages/about/about.ts index 8153953049e..e7155adbd53 100644 --- a/src/core/features/settings/pages/about/about.ts +++ b/src/core/features/settings/pages/about/about.ts @@ -32,7 +32,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSettingsAboutPage { +export default class CoreSettingsAboutPage { appName: string; versionName: string; diff --git a/src/core/features/settings/pages/dev/dev.ts b/src/core/features/settings/pages/dev/dev.ts index 7f48b0acb8c..f70ef5ff2cc 100644 --- a/src/core/features/settings/pages/dev/dev.ts +++ b/src/core/features/settings/pages/dev/dev.ts @@ -46,7 +46,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSettingsDevPage implements OnInit { +export default class CoreSettingsDevPage implements OnInit { rtl = false; forceSafeAreaMargins = false; diff --git a/src/core/features/settings/pages/deviceinfo/deviceinfo.ts b/src/core/features/settings/pages/deviceinfo/deviceinfo.ts index 5c38df6027a..4e220f6bc70 100644 --- a/src/core/features/settings/pages/deviceinfo/deviceinfo.ts +++ b/src/core/features/settings/pages/deviceinfo/deviceinfo.ts @@ -77,7 +77,7 @@ interface CoreSettingsDeviceInfo { CoreSharedModule, ], }) -export class CoreSettingsDeviceInfoPage implements OnDestroy { +export default class CoreSettingsDeviceInfoPage implements OnDestroy { deviceInfo: CoreSettingsDeviceInfo; deviceOsTranslated?: string; diff --git a/src/core/features/settings/pages/error-log/error-log.ts b/src/core/features/settings/pages/error-log/error-log.ts index 0c9120b44a8..791d4af0826 100644 --- a/src/core/features/settings/pages/error-log/error-log.ts +++ b/src/core/features/settings/pages/error-log/error-log.ts @@ -28,7 +28,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSettingsErrorLogPage implements OnInit { +export default class CoreSettingsErrorLogPage implements OnInit { errorLogs: CoreSettingsErrorLog[] = []; diff --git a/src/core/features/settings/pages/general/general.ts b/src/core/features/settings/pages/general/general.ts index a27fd5c6439..a378e47108a 100644 --- a/src/core/features/settings/pages/general/general.ts +++ b/src/core/features/settings/pages/general/general.ts @@ -42,7 +42,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSettingsGeneralPage { +export default class CoreSettingsGeneralPage { languages: { code: string; name: string }[] = []; selectedLanguage = ''; diff --git a/src/core/features/settings/pages/index/index.ts b/src/core/features/settings/pages/index/index.ts index e3ed60bbbaa..8b99af7964d 100644 --- a/src/core/features/settings/pages/index/index.ts +++ b/src/core/features/settings/pages/index/index.ts @@ -28,7 +28,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSettingsIndexPage implements AfterViewInit, OnDestroy { +export default class CoreSettingsIndexPage implements AfterViewInit, OnDestroy { sections: CoreListItemsManager; diff --git a/src/core/features/settings/pages/licenses/licenses.ts b/src/core/features/settings/pages/licenses/licenses.ts index 868f610079d..3914a2b0880 100644 --- a/src/core/features/settings/pages/licenses/licenses.ts +++ b/src/core/features/settings/pages/licenses/licenses.ts @@ -45,7 +45,7 @@ interface CoreSettingsLicense { CoreSharedModule, ], }) -export class CoreSettingsLicensesPage implements OnInit { +export default class CoreSettingsLicensesPage implements OnInit { licensesUrl: string; loaded = false; diff --git a/src/core/features/settings/pages/site/site.ts b/src/core/features/settings/pages/site/site.ts index f8df27428bf..4189be2e639 100644 --- a/src/core/features/settings/pages/site/site.ts +++ b/src/core/features/settings/pages/site/site.ts @@ -43,7 +43,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSitePreferencesPage implements AfterViewInit, OnDestroy { +export default class CoreSitePreferencesPage implements AfterViewInit, OnDestroy { @ViewChild(CoreSplitViewComponent) splitView!: CoreSplitViewComponent; diff --git a/src/core/features/settings/pages/space-usage/space-usage.ts b/src/core/features/settings/pages/space-usage/space-usage.ts index 2f50548b2f4..8287d2844f2 100644 --- a/src/core/features/settings/pages/space-usage/space-usage.ts +++ b/src/core/features/settings/pages/space-usage/space-usage.ts @@ -34,7 +34,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSettingsSpaceUsagePage implements OnInit, OnDestroy { +export default class CoreSettingsSpaceUsagePage implements OnInit, OnDestroy { loaded = false; totalSpaceUsage = 0; diff --git a/src/core/features/settings/pages/synchronization/synchronization.ts b/src/core/features/settings/pages/synchronization/synchronization.ts index 3234b97b49c..d737d5074b8 100644 --- a/src/core/features/settings/pages/synchronization/synchronization.ts +++ b/src/core/features/settings/pages/synchronization/synchronization.ts @@ -39,7 +39,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSettingsSynchronizationPage implements OnInit, OnDestroy { +export default class CoreSettingsSynchronizationPage implements OnInit, OnDestroy { accountsList: CoreAccountsList = { sameSite: [], diff --git a/src/core/features/settings/settings-lazy.module.ts b/src/core/features/settings/settings-lazy.module.ts index 08bee83e6a4..6c7e0e531ab 100644 --- a/src/core/features/settings/settings-lazy.module.ts +++ b/src/core/features/settings/settings-lazy.module.ts @@ -18,29 +18,20 @@ import { RouterModule, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { CoreSettingsIndexPage } from './pages/index'; import { SHAREDFILES_PAGE_NAME } from '@features/sharedfiles/constants'; -import { CoreSettingsSynchronizationPage } from '@features/settings/pages/synchronization/synchronization'; -import { CoreSettingsGeneralPage } from '@features/settings/pages/general/general'; -import { CoreSettingsSpaceUsagePage } from '@features/settings/pages/space-usage/space-usage'; -import { CoreSettingsAboutPage } from '@features/settings/pages/about/about'; -import { CoreSettingsLicensesPage } from '@features/settings/pages/licenses/licenses'; -import { CoreSettingsDeviceInfoPage } from '@features/settings/pages/deviceinfo/deviceinfo'; -import { CoreSettingsDevPage } from '@features/settings/pages/dev/dev'; -import { CoreSettingsErrorLogPage } from '@features/settings/pages/error-log/error-log'; const sectionRoutes: Routes = [ { path: 'general', - component: CoreSettingsGeneralPage, + loadComponent: () => import('@features/settings/pages/general/general'), }, { path: 'spaceusage', - component: CoreSettingsSpaceUsagePage, + loadComponent: () => import('@features/settings/pages/space-usage/space-usage'), }, { path: 'sync', - component: CoreSettingsSynchronizationPage, + loadComponent: () => import('@features/settings/pages/synchronization/synchronization'), }, { path: SHAREDFILES_PAGE_NAME, @@ -48,14 +39,14 @@ const sectionRoutes: Routes = [ }, { path: 'about', - component: CoreSettingsAboutPage, + loadComponent: () => import('@features/settings/pages/about/about'), }, ]; const mobileRoutes: Routes = [ { path: '', - component: CoreSettingsIndexPage, + loadComponent: () => import('@features/settings/pages/index/index'), }, ...sectionRoutes, ]; @@ -63,7 +54,7 @@ const mobileRoutes: Routes = [ const tabletRoutes: Routes = [ { path: '', - component: CoreSettingsIndexPage, + loadComponent: () => import('@features/settings/pages/index/index'), children: [ { path: '', @@ -80,19 +71,19 @@ const routes: Routes = [ ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), { path: 'about/deviceinfo', - component: CoreSettingsDeviceInfoPage, + loadComponent: () => import('@features/settings/pages/deviceinfo/deviceinfo'), }, { path: 'about/deviceinfo/dev', - component: CoreSettingsDevPage, + loadComponent: () => import('@features/settings/pages/dev/dev'), }, { path: 'about/deviceinfo/dev/error-log', - component: CoreSettingsErrorLogPage, + loadComponent: () => import('@features/settings/pages/error-log/error-log'), }, { path: 'about/licenses', - component: CoreSettingsLicensesPage, + loadComponent: () => import('@features/settings/pages/licenses/licenses'), }, ]; diff --git a/src/core/features/settings/settings-site-lazy.module.ts b/src/core/features/settings/settings-site-lazy.module.ts index b8fd5529e34..d0d63553a77 100644 --- a/src/core/features/settings/settings-site-lazy.module.ts +++ b/src/core/features/settings/settings-site-lazy.module.ts @@ -17,7 +17,6 @@ import { ROUTES, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; -import { CoreSitePreferencesPage } from '@features/settings/pages/site/site'; import { resolveSiteRoutes } from '@features/settings/settings-site-routing.module'; /** @@ -31,14 +30,14 @@ function buildRoutes(injector: Injector): Routes { const mobileRoutes: Routes = [ { path: '', - component: CoreSitePreferencesPage, + loadComponent: () => import('@features/settings/pages/site/site'), }, ...routes.siblings, ]; const tabletRoutes: Routes = [ { path: '', - component: CoreSitePreferencesPage, + loadComponent: () => import('@features/settings/pages/site/site'), children: routes.siblings, }, ]; diff --git a/src/core/features/sharedfiles/pages/choose-site/choose-site.ts b/src/core/features/sharedfiles/pages/choose-site/choose-site.ts index a976ad0741f..c9e06d5c721 100644 --- a/src/core/features/sharedfiles/pages/choose-site/choose-site.ts +++ b/src/core/features/sharedfiles/pages/choose-site/choose-site.ts @@ -34,7 +34,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreSharedFilesChooseSitePage implements OnInit { +export default class CoreSharedFilesChooseSitePage implements OnInit { fileName?: string; loaded = false; diff --git a/src/core/features/sharedfiles/pages/list/list.ts b/src/core/features/sharedfiles/pages/list/list.ts index 56ac5da7e63..7905cf5eee6 100644 --- a/src/core/features/sharedfiles/pages/list/list.ts +++ b/src/core/features/sharedfiles/pages/list/list.ts @@ -32,7 +32,7 @@ import { CoreSharedFilesListComponent } from '../../components/list/list'; CoreSharedFilesListComponent, ], }) -export class CoreSharedFilesListPage implements OnInit { +export default class CoreSharedFilesListPage implements OnInit { siteId?: string; mimetypes?: string[]; diff --git a/src/core/features/sharedfiles/services/sharedfiles-helper.ts b/src/core/features/sharedfiles/services/sharedfiles-helper.ts index 44e0ee0d442..8d332921d65 100644 --- a/src/core/features/sharedfiles/services/sharedfiles-helper.ts +++ b/src/core/features/sharedfiles/services/sharedfiles-helper.ts @@ -26,7 +26,7 @@ import { CoreEvents } from '@singletons/events'; import { CoreLogger } from '@singletons/logger'; import { CoreSharedFiles } from './sharedfiles'; import { SHAREDFILES_PAGE_NAME } from '../constants'; -import { CoreSharedFilesChooseSitePage } from '../pages/choose-site/choose-site'; +import CoreSharedFilesChooseSitePage from '../pages/choose-site/choose-site'; import { CoreError } from '@classes/errors/error'; import { CorePlatform } from '@services/platform'; import { CoreModals } from '@services/overlays/modals'; diff --git a/src/core/features/sharedfiles/sharedfiles-lazy.module.ts b/src/core/features/sharedfiles/sharedfiles-lazy.module.ts index eba353497ac..a2a43d6cf4a 100644 --- a/src/core/features/sharedfiles/sharedfiles-lazy.module.ts +++ b/src/core/features/sharedfiles/sharedfiles-lazy.module.ts @@ -15,17 +15,14 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreSharedFilesListPage } from './pages/list/list'; -import { CoreSharedFilesChooseSitePage } from './pages/choose-site/choose-site'; - const routes: Routes = [ { path: 'choosesite', - component: CoreSharedFilesChooseSitePage, + loadComponent: () => import('@features/sharedfiles/pages/choose-site/choose-site'), }, { path: 'list/:hash', - component: CoreSharedFilesListPage, + loadComponent: () => import('@features/sharedfiles/pages/list/list'), }, ]; diff --git a/src/core/features/sitehome/pages/index/index.ts b/src/core/features/sitehome/pages/index/index.ts index 077add74759..f814d1552f9 100644 --- a/src/core/features/sitehome/pages/index/index.ts +++ b/src/core/features/sitehome/pages/index/index.ts @@ -51,7 +51,7 @@ import { CoreBlockSideBlocksButtonComponent } from '../../../block/components/si CoreBlockSideBlocksButtonComponent, ], }) -export class CoreSiteHomeIndexPage implements OnInit, OnDestroy { +export default class CoreSiteHomeIndexPage implements OnInit, OnDestroy { dataLoaded = false; section?: CoreCourseWSSection & { diff --git a/src/core/features/sitehome/sitehome-lazy.module.ts b/src/core/features/sitehome/sitehome-lazy.module.ts deleted file mode 100644 index dd92058642d..00000000000 --- a/src/core/features/sitehome/sitehome-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 { CoreSiteHomeIndexPage } from '@features/sitehome/pages/index'; - -const routes: Routes = [ - { - path: '', - component: CoreSiteHomeIndexPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreSiteHomeLazyModule {} diff --git a/src/core/features/sitehome/sitehome.module.ts b/src/core/features/sitehome/sitehome.module.ts index fc597d53374..52a04979cb2 100644 --- a/src/core/features/sitehome/sitehome.module.ts +++ b/src/core/features/sitehome/sitehome.module.ts @@ -37,7 +37,7 @@ export async function getSiteHomeServices(): Promise[]> { const mainMenuHomeRoutes: Routes = [ { path: CoreSiteHomeHomeHandlerService.PAGE_NAME, - loadChildren: () => import('./sitehome-lazy.module'), + loadComponent: () => import('@features/sitehome/pages/index/index'), }, ]; diff --git a/src/core/features/tag/pages/index-area/index-area.ts b/src/core/features/tag/pages/index-area/index-area.ts index 28f749cb1e6..e61896a955e 100644 --- a/src/core/features/tag/pages/index-area/index-area.ts +++ b/src/core/features/tag/pages/index-area/index-area.ts @@ -32,7 +32,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreTagIndexAreaPage implements OnInit { +export default class CoreTagIndexAreaPage implements OnInit { tagId = 0; tagName = ''; diff --git a/src/core/features/tag/pages/index/index.ts b/src/core/features/tag/pages/index/index.ts index 8bb5809beea..a81a6977bb0 100644 --- a/src/core/features/tag/pages/index/index.ts +++ b/src/core/features/tag/pages/index/index.ts @@ -35,7 +35,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreTagIndexPage implements OnInit { +export default class CoreTagIndexPage implements OnInit { tagId = 0; tagName = ''; diff --git a/src/core/features/tag/pages/search/search.ts b/src/core/features/tag/pages/search/search.ts index eddcc929aa2..c88ec1a2896 100644 --- a/src/core/features/tag/pages/search/search.ts +++ b/src/core/features/tag/pages/search/search.ts @@ -42,7 +42,7 @@ import { CoreSearchBoxComponent } from '../../../search/components/search-box/se CoreSearchBoxComponent, ], }) -export class CoreTagSearchPage implements OnInit { +export default class CoreTagSearchPage implements OnInit { collectionId!: number; query!: string; diff --git a/src/core/features/tag/tag-lazy.module.ts b/src/core/features/tag/tag-lazy.module.ts index e05985fdae9..5d4279e0e48 100644 --- a/src/core/features/tag/tag-lazy.module.ts +++ b/src/core/features/tag/tag-lazy.module.ts @@ -17,15 +17,12 @@ import { Injector, NgModule } from '@angular/core'; import { Route, ROUTES, Routes } from '@angular/router'; import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; -import { CoreTagIndexAreaPage } from '@features/tag/pages/index-area/index-area'; -import { CoreTagIndexPage } from '@features/tag/pages/index/index'; -import { CoreTagSearchPage } from '@features/tag/pages/search/search'; import { CoreScreen } from '@services/screen'; import { CoreTagMainMenuHandlerService } from './services/handlers/mainmenu'; const indexAreaRoute: Route = { path: 'index-area', - component: CoreTagIndexAreaPage, + loadComponent: () => import('@features/tag/pages/index-area/index-area'), }; /** @@ -38,7 +35,7 @@ function buildRoutes(injector: Injector): Routes { const mobileRoutes: Routes = [ { path: 'index', - component: CoreTagIndexPage, + loadComponent: () => import('@features/tag/pages/index/index'), }, { ...indexAreaRoute, @@ -49,7 +46,7 @@ function buildRoutes(injector: Injector): Routes { const tabletRoutes: Routes = [ { path: 'index', - component: CoreTagIndexPage, + loadComponent: () => import('@features/tag/pages/index/index'), children: [ indexAreaRoute, ], @@ -62,7 +59,7 @@ function buildRoutes(injector: Injector): Routes { { path: 'search', data: { mainMenuTabRoot: CoreTagMainMenuHandlerService.PAGE_NAME }, - component: CoreTagSearchPage, + loadComponent: () => import('@features/tag/pages/search/search'), }, indexAreaRoute, ...buildTabMainRoutes(injector, { diff --git a/src/core/features/user/pages/about/about.ts b/src/core/features/user/pages/about/about.ts index 4b7a8a9b871..7cb688cfac8 100644 --- a/src/core/features/user/pages/about/about.ts +++ b/src/core/features/user/pages/about/about.ts @@ -50,7 +50,7 @@ import { CoreUserProfileFieldComponent } from '../../components/user-profile-fie CoreUserProfileFieldComponent, ], }) -export class CoreUserAboutPage implements OnInit, OnDestroy { +export default class CoreUserAboutPage implements OnInit, OnDestroy { courseId!: number; userLoaded = false; diff --git a/src/core/features/user/pages/complete-profile/complete-profile.ts b/src/core/features/user/pages/complete-profile/complete-profile.ts index ccb4e8dedb9..74d1df74e42 100644 --- a/src/core/features/user/pages/complete-profile/complete-profile.ts +++ b/src/core/features/user/pages/complete-profile/complete-profile.ts @@ -34,7 +34,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreUserCompleteProfilePage implements OnDestroy { +export default class CoreUserCompleteProfilePage implements OnDestroy { editingProfile = false; logoutLabel: string; diff --git a/src/core/features/user/pages/participants/participants.ts b/src/core/features/user/pages/participants/participants.ts index 93b7705b4b5..583762fbc3d 100644 --- a/src/core/features/user/pages/participants/participants.ts +++ b/src/core/features/user/pages/participants/participants.ts @@ -39,7 +39,7 @@ import { CoreSearchBoxComponent } from '../../../search/components/search-box/se CoreSearchBoxComponent, ], }) -export class CoreUserParticipantsPage implements OnInit, AfterViewInit, OnDestroy { +export default class CoreUserParticipantsPage implements OnInit, AfterViewInit, OnDestroy { courseId!: number; participants!: CoreUserParticipantsManager; diff --git a/src/core/features/user/pages/profile/profile.ts b/src/core/features/user/pages/profile/profile.ts index cfe62e9e5b1..13d5c402684 100644 --- a/src/core/features/user/pages/profile/profile.ts +++ b/src/core/features/user/pages/profile/profile.ts @@ -48,7 +48,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreUserProfilePage implements OnInit, OnDestroy { +export default class CoreUserProfilePage implements OnInit, OnDestroy { protected courseId?: number; protected userId!: number; diff --git a/src/core/features/user/user-app-lazy.module.ts b/src/core/features/user/user-app-lazy.module.ts deleted file mode 100644 index 4d378f170b7..00000000000 --- a/src/core/features/user/user-app-lazy.module.ts +++ /dev/null @@ -1,31 +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 { CoreUserCompleteProfilePage } from './pages/complete-profile/complete-profile'; - -const routes: Routes = [ - { - path: 'completeprofile', - component: CoreUserCompleteProfilePage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreUserAppLazyModule {} diff --git a/src/core/features/user/user-course-lazy.module.ts b/src/core/features/user/user-course-lazy.module.ts index 6822af08b44..82b7bd1f62d 100644 --- a/src/core/features/user/user-course-lazy.module.ts +++ b/src/core/features/user/user-course-lazy.module.ts @@ -15,18 +15,17 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreUserParticipantsPage } from './pages/participants/participants'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CoreScreen } from '@services/screen'; const routes: Routes = [ { path: '', - component: CoreUserParticipantsPage, + loadComponent: () => import('@features/user/pages/participants/participants'), children: conditionalRoutes([ { path: ':userId', - loadChildren: () => import('@features/user/user-profile-lazy.module'), + loadComponent: () => import('@features/user/pages/profile/profile'), data: { swipeManagerSource: 'participants' }, }, ], () => CoreScreen.isTablet), diff --git a/src/core/features/user/user-lazy.module.ts b/src/core/features/user/user-lazy.module.ts index 40d71357c8d..9f598229fe2 100644 --- a/src/core/features/user/user-lazy.module.ts +++ b/src/core/features/user/user-lazy.module.ts @@ -14,7 +14,6 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { CoreUserAboutPage } from '@features/user/pages/about/about'; const routes: Routes = [ { @@ -24,11 +23,11 @@ const routes: Routes = [ }, { path: 'profile', - loadChildren: () => import('./user-profile-lazy.module'), + loadComponent: () => import('@features/user/pages/profile/profile'), }, { path: 'about', - component: CoreUserAboutPage, + loadComponent: () => import('@features/user/pages/about/about'), }, ]; diff --git a/src/core/features/user/user-profile-lazy.module.ts b/src/core/features/user/user-profile-lazy.module.ts deleted file mode 100644 index 32248d5acc4..00000000000 --- a/src/core/features/user/user-profile-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 { CoreUserProfilePage } from '@features/user/pages/profile/profile'; - -const routes: Routes = [ - { - path: '', - component: CoreUserProfilePage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreUserProfileLazyModule {} diff --git a/src/core/features/user/user.module.ts b/src/core/features/user/user.module.ts index c2a504fa6e1..5ee7c7fae9c 100644 --- a/src/core/features/user/user.module.ts +++ b/src/core/features/user/user.module.ts @@ -61,8 +61,8 @@ export async function getUsersServices(): Promise[]> { const appRoutes: Routes = [ { - path: 'user', - loadChildren: () => import('@features/user/user-app-lazy.module'), + path: 'user/completeprofile', + loadComponent: () => import('@features/user/pages/complete-profile/complete-profile'), }, ]; @@ -74,7 +74,7 @@ const routes: Routes = [ ...conditionalRoutes([ { path: `${CORE_COURSE_PAGE_NAME}/${CORE_COURSE_INDEX_PATH}/${PARTICIPANTS_PAGE_NAME}/:userId`, - loadChildren: () => import('@features/user/user-profile-lazy.module'), + loadComponent: () => import('@features/user/pages/profile/profile'), data: { swipeManagerSource: 'participants', }, diff --git a/src/core/features/viewer/pages/iframe/iframe.ts b/src/core/features/viewer/pages/iframe/iframe.ts index 3741504fa4c..b7e4ae41fa5 100644 --- a/src/core/features/viewer/pages/iframe/iframe.ts +++ b/src/core/features/viewer/pages/iframe/iframe.ts @@ -28,7 +28,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreSharedModule, ], }) -export class CoreViewerIframePage implements OnInit { +export default class CoreViewerIframePage implements OnInit { title?: string; // Page title. url?: string; // Iframe URL. diff --git a/src/core/features/viewer/viewer-lazy.module.ts b/src/core/features/viewer/viewer-lazy.module.ts deleted file mode 100644 index 720fd92f698..00000000000 --- a/src/core/features/viewer/viewer-lazy.module.ts +++ /dev/null @@ -1,31 +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 { CoreViewerIframePage } from '@features/viewer/pages/iframe/iframe'; - -const routes: Routes = [ - { - path: 'iframe', - component: CoreViewerIframePage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreViewerLazyModule {} diff --git a/src/core/features/viewer/viewer.module.ts b/src/core/features/viewer/viewer.module.ts index 64dbf46c778..a88448c6bf6 100644 --- a/src/core/features/viewer/viewer.module.ts +++ b/src/core/features/viewer/viewer.module.ts @@ -20,7 +20,12 @@ import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-ro const routes: Routes = [ { path: 'viewer', - loadChildren: () => import('./viewer-lazy.module'), + children: [ + { + path: 'iframe', + loadComponent: () => import('@features/viewer/pages/iframe/iframe'), + }, + ], }, ]; From 825c3767bca19eecbb98864bb287f0b531667785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Mon, 3 Feb 2025 17:57:34 +0100 Subject: [PATCH 11/16] MOBILE-4759 test: Fix rendering components on testing --- .github/workflows/testing.yml | 2 +- src/core/components/tests/iframe.test.ts | 1 + src/core/components/tests/user-avatar.test.ts | 5 +- src/core/directives/tests/format-text.test.ts | 13 ++- src/core/directives/tests/link.test.ts | 2 + .../update-non-reactive-attributes.ts | 2 +- .../login/pages/credentials/credentials.html | 4 +- .../features/login/tests/credentials.test.ts | 18 +---- .../stubs/directives/core-external-content.ts | 1 + src/testing/utils.ts | 79 +++++++++++-------- 10 files changed, 69 insertions(+), 58 deletions(-) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index d51c2f17fbd..48ceaaca008 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -69,7 +69,7 @@ jobs: cat circular-dependencies lines=$(cat circular-dependencies | wc -l) echo "Total circular dependencies: $lines" - test $lines -eq 93 + test $lines -eq 95 - name: JavaScript code compatibility run: | npx check-es-compat www/*.js --polyfills="\{Array,String,TypedArray\}.prototype.at,Object.hasOwn" diff --git a/src/core/components/tests/iframe.test.ts b/src/core/components/tests/iframe.test.ts index 93106369d68..84279bfdd14 100644 --- a/src/core/components/tests/iframe.test.ts +++ b/src/core/components/tests/iframe.test.ts @@ -26,6 +26,7 @@ describe('CoreIframeComponent', () => { const { nativeElement } = await renderTemplate( CoreIframeComponent, '', + { standalone: true }, ); // Assert. diff --git a/src/core/components/tests/user-avatar.test.ts b/src/core/components/tests/user-avatar.test.ts index a68f951a9bf..fddb8c9786e 100644 --- a/src/core/components/tests/user-avatar.test.ts +++ b/src/core/components/tests/user-avatar.test.ts @@ -20,7 +20,10 @@ describe('CoreUserAvatarComponent', () => { it('should render', async () => { // Act. - const { nativeElement } = await renderComponent(CoreUserAvatarComponent); + const { nativeElement } = await renderComponent( + CoreUserAvatarComponent, + { standalone: true }, + ); // Assert. expect(nativeElement.innerHTML.trim()).not.toHaveLength(0); diff --git a/src/core/directives/tests/format-text.test.ts b/src/core/directives/tests/format-text.test.ts index a9196dc9ef6..8bfc143a524 100644 --- a/src/core/directives/tests/format-text.test.ts +++ b/src/core/directives/tests/format-text.test.ts @@ -50,6 +50,7 @@ describe('CoreFormatTextDirective', () => { providers: [ { provide: IonContent, useValue: null }, ], + standalone: true, }; }); @@ -79,6 +80,7 @@ describe('CoreFormatTextDirective', () => { const { nativeElement } = await renderTemplate( CoreFormatTextDirective, '', + { standalone: true }, ); // Assert @@ -116,13 +118,15 @@ describe('CoreFormatTextDirective', () => { }); // Act - const { nativeElement } = await renderTemplate(CoreFormatTextDirective, ` - - `); + >`, + { standalone: true }, + ); // Assert const text = nativeElement.querySelector('core-format-text'); @@ -180,6 +184,7 @@ describe('CoreFormatTextDirective', () => { CoreFormatTextDirective, 'core-format-text', { text: 'Link' }, + { standalone: true }, ); const anchor = nativeElement.querySelector('a'); diff --git a/src/core/directives/tests/link.test.ts b/src/core/directives/tests/link.test.ts index 169713dcee9..80e5bdf3a73 100644 --- a/src/core/directives/tests/link.test.ts +++ b/src/core/directives/tests/link.test.ts @@ -24,6 +24,7 @@ describe('CoreLinkDirective', () => { const fixture = await renderTemplate( CoreLinkDirective, 'Link', + { standalone: true }, ); // Assert @@ -42,6 +43,7 @@ describe('CoreLinkDirective', () => { const { nativeElement } = await renderTemplate( CoreLinkDirective, 'Link', + { standalone: true }, ); const anchor = nativeElement.querySelector('a'); diff --git a/src/core/directives/update-non-reactive-attributes.ts b/src/core/directives/update-non-reactive-attributes.ts index b2463152cfa..7461ab253d7 100644 --- a/src/core/directives/update-non-reactive-attributes.ts +++ b/src/core/directives/update-non-reactive-attributes.ts @@ -20,7 +20,7 @@ import { Directive, ElementRef, OnDestroy, OnInit } from '@angular/core'; * * This is necessary in order to update some attributes that are not reactive, for example aria-label. * - * @see https://github.com/ionic-team/ionic-framework/issues/21534 + * @see https://github.com/ionic-team/ionic-framework/issues/20127 */ @Directive({ selector: 'ion-button', diff --git a/src/core/features/login/pages/credentials/credentials.html b/src/core/features/login/pages/credentials/credentials.html index a54176236fe..833e254da56 100644 --- a/src/core/features/login/pages/credentials/credentials.html +++ b/src/core/features/login/pages/credentials/credentials.html @@ -9,10 +9,10 @@

{{ 'core.login.login' | translate }}

- + - + diff --git a/src/core/features/login/tests/credentials.test.ts b/src/core/features/login/tests/credentials.test.ts index c27ac78c8de..10d3d9ac02a 100644 --- a/src/core/features/login/tests/credentials.test.ts +++ b/src/core/features/login/tests/credentials.test.ts @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { findElement, mock, mockSingleton, renderPageComponent, requireElement } from '@/testing/utils'; import { CoreLoginError } from '@classes/errors/loginerror'; import CoreLoginCredentialsPage from '@features/login/pages/credentials/credentials'; @@ -22,9 +21,6 @@ import { Http } from '@singletons'; import { of } from 'rxjs'; import { CoreLoginHelper } from '../services/login-helper'; import { CoreConstants } from '@/core/constants'; -import { CoreSiteLogoComponent } from '@components/site-logo/site-logo'; -import { CoreLoginExceededAttemptsComponent } from '../components/exceeded-attempts/exceeded-attempts'; -import { CoreLoginMethodsComponent } from '../components/login-methods/login-methods'; describe('Credentials page', () => { @@ -86,12 +82,7 @@ describe('Credentials page', () => { // Act. const fixture = await renderPageComponent(CoreLoginCredentialsPage, { routeParams: { siteUrl }, - imports: [ - CoreSharedModule, - CoreSiteLogoComponent, - CoreLoginExceededAttemptsComponent, - CoreLoginMethodsComponent, - ], + standalone: true, }); // Assert. @@ -141,12 +132,7 @@ describe('Credentials page', () => { const fixture = await renderPageComponent(CoreLoginCredentialsPage, { routeParams: { siteUrl, siteCheck }, - imports: [ - CoreSharedModule, - CoreSiteLogoComponent, - CoreLoginExceededAttemptsComponent, - CoreLoginMethodsComponent, - ], + standalone: true, }); // Act. diff --git a/src/testing/stubs/directives/core-external-content.ts b/src/testing/stubs/directives/core-external-content.ts index c929bd2b424..972a4267ffa 100644 --- a/src/testing/stubs/directives/core-external-content.ts +++ b/src/testing/stubs/directives/core-external-content.ts @@ -16,6 +16,7 @@ import { Directive, Input } from '@angular/core'; @Directive({ selector: '[core-external-content]', + standalone: true, }) export class CoreExternalContentDirectiveStub { // eslint-disable-line @angular-eslint/directive-class-suffix diff --git a/src/testing/utils.ts b/src/testing/utils.ts index 9c4566801da..11cc9b5a676 100644 --- a/src/testing/utils.ts +++ b/src/testing/utils.ts @@ -86,25 +86,40 @@ const DEFAULT_SERVICE_SINGLETON_MOCKS: [CoreSingletonProxy, unknown][] = [ * @returns A promise that resolves to the testing component fixture. */ async function renderAngularComponent(component: Type, config: RenderConfig): Promise> { - config.declarations.push(component); - - TestBed.configureTestingModule({ - declarations: [ - ...getDefaultDeclarations(), - ...config.declarations, - ], - providers: [ - ...getDefaultProviders(config), - ...config.providers, - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - imports: [ - BrowserModule, - NoopAnimationsModule, - TranslateModule.forChild(), - ...config.imports, - ], - }); + if (!config.standalone) { + config.declarations.push(component); + + TestBed.configureTestingModule({ + declarations: [ + ...config.declarations, + ], + providers: [ + ...getDefaultProviders(config), + ...config.providers, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + imports: [ + BrowserModule, + NoopAnimationsModule, + TranslateModule.forChild(), + CoreExternalContentDirectiveStub, + ...config.imports, + ], + }); + } else { + TestBed.configureTestingModule({ + providers: [ + ...getDefaultProviders(config), + ...config.providers, + ], + imports: [ + component, + NoopAnimationsModule, + CoreExternalContentDirectiveStub, + ...config.imports, + ], + }); + } testBedInitialized = true; @@ -128,7 +143,13 @@ async function renderAngularComponent(component: Type, config: RenderConfi * @returns The wrapper component class. */ function createWrapperComponent(template: string, componentClass: Type): Type> { - @Component({ template }) + @Component({ + template, + standalone: true, + imports: [ + componentClass, + ], + }) class HostComponent extends WrapperComponent { @ViewChild(componentClass) child!: U; @@ -138,17 +159,6 @@ function createWrapperComponent(template: string, componentClass: Type): T return HostComponent; } -/** - * Gets the default declarations for testing. - * - * @returns An array of default declarations. - */ -function getDefaultDeclarations(): unknown[] { - return [ - CoreExternalContentDirectiveStub, - ]; -} - /** * Gets the default providers for testing. * @@ -217,6 +227,7 @@ export interface RenderConfig { providers: unknown[]; imports: unknown[]; translations?: Record; + standalone?: boolean; } export interface RenderPageConfig extends RenderConfig { @@ -447,8 +458,10 @@ export async function renderTemplate( template: string, config: Partial = {}, ): Promise> { - config.declarations = config.declarations ?? []; - config.declarations.push(component); + if (!config.standalone) { + config.declarations = config.declarations ?? []; + config.declarations.push(component); + } return renderAngularComponent( createWrapperComponent(template, component), From 465595a632fc48aed693486ad683e8242c1441da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Tue, 4 Feb 2025 13:24:00 +0100 Subject: [PATCH 12/16] MOBILE-4759 chore: Remove basic lazy modules without provide: ROUTES --- src/addons/badges/badges-lazy.module.ts | 58 ---------- src/addons/badges/badges.module.ts | 36 +++++- .../competency-course-details-lazy.module.ts | 60 ---------- .../competency-learning-plans-lazy.module.ts | 75 ------------ src/addons/competency/competency.module.ts | 109 +++++++++++++++++- src/addons/mod/assign/assign-lazy.module.ts | 71 ------------ src/addons/mod/assign/assign.module.ts | 48 +++++++- src/addons/mod/chat/chat-lazy.module.ts | 69 ----------- src/addons/mod/chat/chat.module.ts | 46 +++++++- .../mod/feedback/feedback-lazy.module.ts | 73 ------------ src/addons/mod/feedback/feedback.module.ts | 50 +++++++- .../mod/forum/forum-discussion-lazy.module.ts | 31 ----- src/addons/mod/forum/forum-lazy.module.ts | 68 ----------- .../forum/forum-new-discussion-lazy.module.ts | 30 ----- src/addons/mod/forum/forum.module.ts | 65 +++++++++-- .../mod/glossary/glossary-edit-lazy.module.ts | 30 ----- .../mod/glossary/glossary-lazy.module.ts | 63 ---------- src/addons/mod/glossary/glossary.module.ts | 49 +++++++- .../courses/courses-my-lazy.module.ts | 30 ----- .../grades-course-participants-lazy.module.ts | 40 ------- .../grades/grades-courses-lazy.module.ts | 55 --------- src/core/features/grades/grades.module.ts | 38 +++++- src/core/features/login/login-lazy.module.ts | 63 ---------- src/core/features/login/login.module.ts | 38 +++++- .../features/settings/settings-lazy.module.ts | 95 --------------- src/core/features/settings/settings.module.ts | 76 +++++++++++- .../sharedfiles/sharedfiles-lazy.module.ts | 34 ------ .../sharedfiles/sharedfiles.module.ts | 20 +++- .../features/user/user-course-lazy.module.ts | 40 ------- src/core/features/user/user-lazy.module.ts | 39 ------- src/core/features/user/user.module.ts | 25 +++- 31 files changed, 572 insertions(+), 1052 deletions(-) delete mode 100644 src/addons/badges/badges-lazy.module.ts delete mode 100644 src/addons/competency/competency-course-details-lazy.module.ts delete mode 100644 src/addons/competency/competency-learning-plans-lazy.module.ts delete mode 100644 src/addons/mod/assign/assign-lazy.module.ts delete mode 100644 src/addons/mod/chat/chat-lazy.module.ts delete mode 100644 src/addons/mod/feedback/feedback-lazy.module.ts delete mode 100644 src/addons/mod/forum/forum-discussion-lazy.module.ts delete mode 100644 src/addons/mod/forum/forum-lazy.module.ts delete mode 100644 src/addons/mod/forum/forum-new-discussion-lazy.module.ts delete mode 100644 src/addons/mod/glossary/glossary-edit-lazy.module.ts delete mode 100644 src/addons/mod/glossary/glossary-lazy.module.ts delete mode 100644 src/core/features/courses/courses-my-lazy.module.ts delete mode 100644 src/core/features/grades/grades-course-participants-lazy.module.ts delete mode 100644 src/core/features/grades/grades-courses-lazy.module.ts delete mode 100644 src/core/features/login/login-lazy.module.ts delete mode 100644 src/core/features/settings/settings-lazy.module.ts delete mode 100644 src/core/features/sharedfiles/sharedfiles-lazy.module.ts delete mode 100644 src/core/features/user/user-course-lazy.module.ts delete mode 100644 src/core/features/user/user-lazy.module.ts diff --git a/src/addons/badges/badges-lazy.module.ts b/src/addons/badges/badges-lazy.module.ts deleted file mode 100644 index a20822d13c1..00000000000 --- a/src/addons/badges/badges-lazy.module.ts +++ /dev/null @@ -1,58 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; - -const mobileRoutes: Routes = [ - { - path: '', - pathMatch: 'full', - loadComponent: () => import('./pages/user-badges/user-badges'), - }, - { - path: ':badgeHash', - loadComponent: () => import('./pages/issued-badge/issued-badge'), - data: { usesSwipeNavigation: true }, - }, -]; - -const tabletRoutes: Routes = [ - { - path: '', - loadComponent: () => import('./pages/user-badges/user-badges'), - children: [ - { - path: ':badgeHash', - loadComponent: () => import('./pages/issued-badge/issued-badge'), - data: { usesSwipeNavigation: true }, - }, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonBadgesLazyModule {} diff --git a/src/addons/badges/badges.module.ts b/src/addons/badges/badges.module.ts index 0394a88bf2b..a4749438613 100644 --- a/src/addons/badges/badges.module.ts +++ b/src/addons/badges/badges.module.ts @@ -26,6 +26,8 @@ import { CorePushNotificationsDelegate } from '@features/pushnotifications/servi import { AddonBadgesPushClickHandler } from './services/handlers/push-click'; import { CoreTagAreaDelegate } from '@features/tag/services/tag-area-delegate'; import { AddonBadgesTagAreaHandler } from './services/handlers/tag-area'; +import { conditionalRoutes } from '@/app/app-routing.module'; +import { CoreScreen } from '@services/screen'; /** * Get badges services. @@ -40,6 +42,38 @@ export async function getBadgesServices(): Promise[]> { ]; } +const mobileRoutes: Routes = [ + { + path: '', + pathMatch: 'full', + loadComponent: () => import('./pages/user-badges/user-badges'), + }, + { + path: ':badgeHash', + loadComponent: () => import('./pages/issued-badge/issued-badge'), + data: { usesSwipeNavigation: true }, + }, +]; + +const tabletRoutes: Routes = [ + { + path: '', + loadComponent: () => import('./pages/user-badges/user-badges'), + children: [ + { + path: ':badgeHash', + loadComponent: () => import('./pages/issued-badge/issued-badge'), + data: { usesSwipeNavigation: true }, + }, + ], + }, +]; + +const routes: Routes = [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), +]; + const mainMenuRoutes: Routes = [ { path: 'badge/:badgeHash', @@ -48,7 +82,7 @@ const mainMenuRoutes: Routes = [ }, { path: 'badges', - loadChildren: () => import('./badges-lazy.module'), + children: routes, }, { path: 'badgeclass/:badgeId', diff --git a/src/addons/competency/competency-course-details-lazy.module.ts b/src/addons/competency/competency-course-details-lazy.module.ts deleted file mode 100644 index fc207aa7ea0..00000000000 --- a/src/addons/competency/competency-course-details-lazy.module.ts +++ /dev/null @@ -1,60 +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 { ADDON_COMPETENCY_SUMMARY_PAGE } from './constants'; -import { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; - -const mobileRoutes: Routes = [ - { - path: '', - loadComponent: () => import('./pages/coursecompetencies/coursecompetencies'), - }, - { - path: ':competencyId', - loadComponent: () => import('./pages/competency/competency'), - }, -]; - -const tabletRoutes: Routes = [ - { - path: '', - loadComponent: () => import('./pages/competencies/competencies'), - children: [ - { - path: ':competencyId', - loadComponent: () => import('./pages/competency/competency'), - }, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), - { - path: `:competencyId/${ADDON_COMPETENCY_SUMMARY_PAGE}`, - loadComponent: () => import('./pages/competencysummary/competencysummary'), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonCompetencyCourseDetailsLazyModule {} diff --git a/src/addons/competency/competency-learning-plans-lazy.module.ts b/src/addons/competency/competency-learning-plans-lazy.module.ts deleted file mode 100644 index 04e381ae8cb..00000000000 --- a/src/addons/competency/competency-learning-plans-lazy.module.ts +++ /dev/null @@ -1,75 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; -import { ADDON_COMPETENCY_COMPETENCIES_PAGE, ADDON_COMPETENCY_SUMMARY_PAGE } from './constants'; - -const mobileRoutes: Routes = [ - { - path: '', - pathMatch: 'full', - loadComponent: () => import('./pages/planlist/planlist'), - }, - { - path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, - loadComponent: () => import('./pages/plan/plan'), - }, - { - path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}/:competencyId`, - loadComponent: () => import('./pages/competency/competency'), - }, -]; - -const tabletRoutes: Routes = [ - { - path: '', - loadComponent: () => import('./pages/planlist/planlist'), - children: [ - { - path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, - loadComponent: () => import('./pages/plan/plan'), - }, - ], - }, - { - path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, - loadComponent: () => import('./pages/competencies/competencies'), - children: [ - { - path: ':competencyId', - loadComponent: () => import('./pages/competency/competency'), - }, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), - { - path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}/:competencyId/${ADDON_COMPETENCY_SUMMARY_PAGE}`, - loadComponent: () => import('./pages/competencysummary/competencysummary'), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonCompetencyLearningPlansLazyModule {} diff --git a/src/addons/competency/competency.module.ts b/src/addons/competency/competency.module.ts index 223601edbf3..a646e85e48e 100644 --- a/src/addons/competency/competency.module.ts +++ b/src/addons/competency/competency.module.ts @@ -29,7 +29,13 @@ import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-ro import { CoreCourseIndexRoutingModule } from '@features/course/course-routing.module'; import { PARTICIPANTS_PAGE_NAME } from '@features/user/constants'; import { CORE_COURSE_PAGE_NAME } from '@features/course/constants'; -import { ADDON_COMPETENCY_LEARNING_PLANS_PAGE, ADDON_COMPETENCY_COMPETENCIES_PAGE } from './constants'; +import { + ADDON_COMPETENCY_LEARNING_PLANS_PAGE, + ADDON_COMPETENCY_COMPETENCIES_PAGE, + ADDON_COMPETENCY_SUMMARY_PAGE, +} from './constants'; +import { conditionalRoutes } from '@/app/app-routing.module'; +import { CoreScreen } from '@services/screen'; /** * Get competency services. @@ -46,18 +52,113 @@ export async function getCompetencyServices(): Promise[]> { ]; } +/** + * Routes for competency learning plans. + * + * @returns Routes. + */ +function getCompetencyLearningPlansRoutes(): Routes { + const mobileRoutes: Routes = [ + { + path: '', + pathMatch: 'full', + loadComponent: () => import('./pages/planlist/planlist'), + }, + { + path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, + loadComponent: () => import('./pages/plan/plan'), + }, + { + path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}/:competencyId`, + loadComponent: () => import('./pages/competency/competency'), + }, + ]; + + const tabletRoutes: Routes = [ + { + path: '', + loadComponent: () => import('./pages/planlist/planlist'), + children: [ + { + path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, + loadComponent: () => import('./pages/plan/plan'), + }, + ], + }, + { + path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, + loadComponent: () => import('./pages/competencies/competencies'), + children: [ + { + path: ':competencyId', + loadComponent: () => import('./pages/competency/competency'), + }, + ], + }, + ]; + + return [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + { + path: `:planId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}/:competencyId/${ADDON_COMPETENCY_SUMMARY_PAGE}`, + loadComponent: () => import('./pages/competencysummary/competencysummary'), + }, + ]; +} + +/** + * Routes for competency course details. + * + * @returns Routes. + */ +function getCompetencyCourseDetailsRoutes(): Routes { + const mobileRoutes: Routes = [ + { + path: '', + loadComponent: () => import('./pages/coursecompetencies/coursecompetencies'), + }, + { + path: ':competencyId', + loadComponent: () => import('./pages/competency/competency'), + }, + ]; + + const tabletRoutes: Routes = [ + { + path: '', + loadComponent: () => import('./pages/competencies/competencies'), + children: [ + { + path: ':competencyId', + loadComponent: () => import('./pages/competency/competency'), + }, + ], + }, + ]; + + return [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + { + path: `:competencyId/${ADDON_COMPETENCY_SUMMARY_PAGE}`, + loadComponent: () => import('./pages/competencysummary/competencysummary'), + }, + ]; +} + const mainMenuChildrenRoutes: Routes = [ { path: ADDON_COMPETENCY_LEARNING_PLANS_PAGE, - loadChildren: () => import('./competency-learning-plans-lazy.module'), + children: getCompetencyLearningPlansRoutes(), }, { path: `${CORE_COURSE_PAGE_NAME}/:courseId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, - loadChildren: () => import('./competency-course-details-lazy.module'), + children: getCompetencyCourseDetailsRoutes(), }, { path: `${CORE_COURSE_PAGE_NAME}/:courseId/${PARTICIPANTS_PAGE_NAME}/:userId/${ADDON_COMPETENCY_COMPETENCIES_PAGE}`, - loadChildren: () => import('./competency-course-details-lazy.module'), + children: getCompetencyCourseDetailsRoutes(), }, ]; diff --git a/src/addons/mod/assign/assign-lazy.module.ts b/src/addons/mod/assign/assign-lazy.module.ts deleted file mode 100644 index a37edba70eb..00000000000 --- a/src/addons/mod/assign/assign-lazy.module.ts +++ /dev/null @@ -1,71 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { canLeaveGuard } from '@guards/can-leave'; -import { CoreScreen } from '@services/screen'; - -const commonRoutes: Routes = [ - { - path: ':courseId/:cmId', - loadComponent: () => import('./pages/index'), - }, - { - path: ':courseId/:cmId/edit', - loadComponent: () => import('./pages/edit/edit'), - canDeactivate: [canLeaveGuard], - }, -]; - -const mobileRoutes: Routes = [ - ...commonRoutes, - { - path: ':courseId/:cmId/submission', - loadComponent: () => import('./pages/submission-list/submission-list'), - }, - { - path: ':courseId/:cmId/submission/:submitId', - loadComponent: () => import('./pages/submission-review/submission-review'), - canDeactivate: [canLeaveGuard], - }, -]; - -const tabletRoutes: Routes = [ - ...commonRoutes, - { - path: ':courseId/:cmId/submission', - loadComponent: () => import('./pages/submission-list/submission-list'), - children: [ - { - path: ':submitId', - loadComponent: () => import('./pages/submission-review/submission-review'), - canDeactivate: [canLeaveGuard], - }, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonModAssignLazyModule {} diff --git a/src/addons/mod/assign/assign.module.ts b/src/addons/mod/assign/assign.module.ts index 18f30a01c3a..af94abcefbc 100644 --- a/src/addons/mod/assign/assign.module.ts +++ b/src/addons/mod/assign/assign.module.ts @@ -32,6 +32,9 @@ import { AddonModAssignPushClickHandler } from './services/handlers/push-click'; import { AddonModAssignSyncCronHandler } from './services/handlers/sync-cron'; import { AddonModAssignSubmissionModule } from './submission/submission.module'; import { ADDON_MOD_ASSIGN_COMPONENT, ADDON_MOD_ASSIGN_PAGE_NAME } from './constants'; +import { conditionalRoutes } from '@/app/app-routing.module'; +import { canLeaveGuard } from '@guards/can-leave'; +import { CoreScreen } from '@services/screen'; /** * Get mod assign services. @@ -73,10 +76,53 @@ export async function getModAssignComponentModules(): Promise[]> { ]; } +const commonRoutes: Routes = [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index'), + }, + { + path: ':courseId/:cmId/edit', + loadComponent: () => import('./pages/edit/edit'), + canDeactivate: [canLeaveGuard], + }, +]; + +const mobileRoutes: Routes = [ + ...commonRoutes, + { + path: ':courseId/:cmId/submission', + loadComponent: () => import('./pages/submission-list/submission-list'), + }, + { + path: ':courseId/:cmId/submission/:submitId', + loadComponent: () => import('./pages/submission-review/submission-review'), + canDeactivate: [canLeaveGuard], + }, +]; + +const tabletRoutes: Routes = [ + ...commonRoutes, + { + path: ':courseId/:cmId/submission', + loadComponent: () => import('./pages/submission-list/submission-list'), + children: [ + { + path: ':submitId', + loadComponent: () => import('./pages/submission-review/submission-review'), + canDeactivate: [canLeaveGuard], + }, + ], + }, +]; + const routes: Routes = [ { path: ADDON_MOD_ASSIGN_PAGE_NAME, - loadChildren: () => import('./assign-lazy.module'), + children: [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + ], }, ]; diff --git a/src/addons/mod/chat/chat-lazy.module.ts b/src/addons/mod/chat/chat-lazy.module.ts deleted file mode 100644 index da15c407771..00000000000 --- a/src/addons/mod/chat/chat-lazy.module.ts +++ /dev/null @@ -1,69 +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 { CoreScreen } from '@services/screen'; -import { conditionalRoutes } from '@/app/app-routing.module'; -import { canLeaveGuard } from '@guards/can-leave'; - -const commonRoutes: Routes = [ - { - path: ':courseId/:cmId', - loadComponent: () => import('./pages/index/index'), - }, - { - path: ':courseId/:cmId/chat', - loadComponent: () => import('./pages/chat/chat'), - canDeactivate: [canLeaveGuard], - }, -]; - -const mobileRoutes: Routes = [ - ...commonRoutes, - { - path: ':courseId/:cmId/sessions', - loadComponent: () => import('./pages/sessions/sessions'), - }, - { - path: ':courseId/:cmId/sessions/:sessionStart/:sessionEnd', - loadComponent: () => import('./pages/session-messages/session-messages'), - }, -]; - -const tabletRoutes: Routes = [ - ...commonRoutes, - { - path: ':courseId/:cmId/sessions', - loadComponent: () => import('./pages/sessions/sessions'), - children: [ - { - path: ':sessionStart/:sessionEnd', - loadComponent: () => import('./pages/session-messages/session-messages'), - }, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonModChatLazyModule {} diff --git a/src/addons/mod/chat/chat.module.ts b/src/addons/mod/chat/chat.module.ts index 304dbd40922..74d42a67d56 100644 --- a/src/addons/mod/chat/chat.module.ts +++ b/src/addons/mod/chat/chat.module.ts @@ -24,11 +24,55 @@ import { AddonModChatListLinkHandler } from './services/handlers/list-link'; import { AddonModChatModuleHandler } from './services/handlers/module'; import { getPrefetchHandlerInstance } from './services/handlers/prefetch'; import { ADDON_MOD_CHAT_COMPONENT, ADDON_MOD_CHAT_PAGE_NAME } from './constants'; +import { conditionalRoutes } from '@/app/app-routing.module'; +import { canLeaveGuard } from '@guards/can-leave'; +import { CoreScreen } from '@services/screen'; + +const commonRoutes: Routes = [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/chat', + loadComponent: () => import('./pages/chat/chat'), + canDeactivate: [canLeaveGuard], + }, +]; + +const mobileRoutes: Routes = [ + ...commonRoutes, + { + path: ':courseId/:cmId/sessions', + loadComponent: () => import('./pages/sessions/sessions'), + }, + { + path: ':courseId/:cmId/sessions/:sessionStart/:sessionEnd', + loadComponent: () => import('./pages/session-messages/session-messages'), + }, +]; + +const tabletRoutes: Routes = [ + ...commonRoutes, + { + path: ':courseId/:cmId/sessions', + loadComponent: () => import('./pages/sessions/sessions'), + children: [ + { + path: ':sessionStart/:sessionEnd', + loadComponent: () => import('./pages/session-messages/session-messages'), + }, + ], + }, +]; const routes: Routes = [ { path: ADDON_MOD_CHAT_PAGE_NAME, - loadChildren: () => import('./chat-lazy.module'), + children: [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + ], }, ]; diff --git a/src/addons/mod/feedback/feedback-lazy.module.ts b/src/addons/mod/feedback/feedback-lazy.module.ts deleted file mode 100644 index 9477938a33f..00000000000 --- a/src/addons/mod/feedback/feedback-lazy.module.ts +++ /dev/null @@ -1,73 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; -import { canLeaveGuard } from '@guards/can-leave'; - -const commonRoutes: Routes = [ - { - path: ':courseId/:cmId', - loadComponent: () => import('./pages/index/index'), - }, - { - path: ':courseId/:cmId/form', - loadComponent: () => import('./pages/form/form'), - canDeactivate: [canLeaveGuard], - }, - { - path: ':courseId/:cmId/nonrespondents', - loadComponent: () => import('./pages/nonrespondents/nonrespondents'), - }, -]; - -const mobileRoutes: Routes = [ - ...commonRoutes, - { - path: ':courseId/:cmId/attempts', - loadComponent: () => import('./pages/attempts/attempts'), - }, - { - path: ':courseId/:cmId/attempts/:attemptId', - loadComponent: () => import('./pages/attempt/attempt'), - }, -]; - -const tabletRoutes: Routes = [ - ...commonRoutes, - { - path: ':courseId/:cmId/attempts', - loadComponent: () => import('./pages/attempts/attempts'), - children: [ - { - path: ':attemptId', - loadComponent: () => import('./pages/attempt/attempt'), - }, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonModFeedbackLazyModule {} diff --git a/src/addons/mod/feedback/feedback.module.ts b/src/addons/mod/feedback/feedback.module.ts index 1f2876a12a8..e8a00c46d13 100644 --- a/src/addons/mod/feedback/feedback.module.ts +++ b/src/addons/mod/feedback/feedback.module.ts @@ -35,11 +35,59 @@ import { AddonModFeedbackShowEntriesLinkHandler } from './services/handlers/show import { AddonModFeedbackShowNonRespondentsLinkHandler } from './services/handlers/show-non-respondents-link'; import { AddonModFeedbackSyncCronHandler } from './services/handlers/sync-cron'; import { ADDON_MOD_FEEDBACK_COMPONENT, ADDON_MOD_FEEDBACK_PAGE_NAME } from './constants'; +import { conditionalRoutes } from '@/app/app-routing.module'; +import { canLeaveGuard } from '@guards/can-leave'; +import { CoreScreen } from '@services/screen'; + +const commonRoutes: Routes = [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/form', + loadComponent: () => import('./pages/form/form'), + canDeactivate: [canLeaveGuard], + }, + { + path: ':courseId/:cmId/nonrespondents', + loadComponent: () => import('./pages/nonrespondents/nonrespondents'), + }, +]; + +const mobileRoutes: Routes = [ + ...commonRoutes, + { + path: ':courseId/:cmId/attempts', + loadComponent: () => import('./pages/attempts/attempts'), + }, + { + path: ':courseId/:cmId/attempts/:attemptId', + loadComponent: () => import('./pages/attempt/attempt'), + }, +]; + +const tabletRoutes: Routes = [ + ...commonRoutes, + { + path: ':courseId/:cmId/attempts', + loadComponent: () => import('./pages/attempts/attempts'), + children: [ + { + path: ':attemptId', + loadComponent: () => import('./pages/attempt/attempt'), + }, + ], + }, +]; const routes: Routes = [ { path: ADDON_MOD_FEEDBACK_PAGE_NAME, - loadChildren: () => import('./feedback-lazy.module'), + children: [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + ], }, ]; diff --git a/src/addons/mod/forum/forum-discussion-lazy.module.ts b/src/addons/mod/forum/forum-discussion-lazy.module.ts deleted file mode 100644 index 2efb0fb769c..00000000000 --- a/src/addons/mod/forum/forum-discussion-lazy.module.ts +++ /dev/null @@ -1,31 +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 { canLeaveGuard } from '@guards/can-leave'; - -const routes: Routes = [{ - path: '', - loadComponent: () => import('./pages/discussion/discussion'), - canDeactivate: [canLeaveGuard], -}]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonModForumDiscussionLazyModule {} diff --git a/src/addons/mod/forum/forum-lazy.module.ts b/src/addons/mod/forum/forum-lazy.module.ts deleted file mode 100644 index de2c99748b7..00000000000 --- a/src/addons/mod/forum/forum-lazy.module.ts +++ /dev/null @@ -1,68 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; - -const mobileRoutes: Routes = [ - { - path: ':courseId/:cmId', - loadComponent: () => import('./pages/index/index'), - }, - { - path: ':courseId/:cmId/new/:timeCreated', - loadChildren: () => import('./forum-new-discussion-lazy.module'), - }, - { - path: ':courseId/:cmId/:discussionId', - loadChildren: () => import('./forum-discussion-lazy.module'), - - }, - { - path: 'discussion/:discussionId', // Only for discussion link handling. - loadChildren: () => import('./forum-discussion-lazy.module'), - }, -]; - -const tabletRoutes: Routes = [ - { - path: ':courseId/:cmId', - loadComponent: () => import('./pages/index/index'), - children: [ - { - path: 'new/:timeCreated', - loadChildren: () => import('./forum-new-discussion-lazy.module'), - }, - { - path: ':discussionId', - loadChildren: () => import('./forum-discussion-lazy.module'), - }, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonModForumLazyModule {} diff --git a/src/addons/mod/forum/forum-new-discussion-lazy.module.ts b/src/addons/mod/forum/forum-new-discussion-lazy.module.ts deleted file mode 100644 index f5148360c75..00000000000 --- a/src/addons/mod/forum/forum-new-discussion-lazy.module.ts +++ /dev/null @@ -1,30 +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 { canLeaveGuard } from '@guards/can-leave'; - -const routes: Routes = [{ - path: '', - loadComponent: () => import('./pages/new-discussion/new-discussion'), - canDeactivate: [canLeaveGuard], -}]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonModForumNewDiscussionLazyModule {} diff --git a/src/addons/mod/forum/forum.module.ts b/src/addons/mod/forum/forum.module.ts index 0eded424fcb..02cc06aa5d7 100644 --- a/src/addons/mod/forum/forum.module.ts +++ b/src/addons/mod/forum/forum.module.ts @@ -13,7 +13,7 @@ // limitations under the License. import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { Routes } from '@angular/router'; +import { Route, Routes } from '@angular/router'; import { conditionalRoutes } from '@/app/app-routing.module'; import { CORE_SITE_SCHEMAS } from '@services/sites'; @@ -40,6 +40,54 @@ import { AddonModForumPushClickHandler } from './services/handlers/push-click'; import { CORE_COURSE_CONTENTS_PATH } from '@features/course/constants'; import { CoreCourseHelper } from '@features/course/services/course-helper'; import { ADDON_MOD_FORUM_COMPONENT, ADDON_MOD_FORUM_PAGE_NAME, ADDON_MOD_FORUM_SEARCH_PAGE_NAME } from './constants'; +import { canLeaveGuard } from '@guards/can-leave'; + +const newDiscussionRoute: Route = { + loadComponent: () => import('./pages/new-discussion/new-discussion'), + canDeactivate: [canLeaveGuard], +}; + +const discussionRoute: Route = { + loadComponent: () => import('./pages/discussion/discussion'), + canDeactivate: [canLeaveGuard], +}; + +const mobileRoutes: Routes = [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/new/:timeCreated', + ...newDiscussionRoute, + }, + { + path: ':courseId/:cmId/:discussionId', + ...discussionRoute, + + }, + { + path: 'discussion/:discussionId', // Only for discussion link handling. + ...discussionRoute, + }, +]; + +const tabletRoutes: Routes = [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + children: [ + { + path: 'new/:timeCreated', + ...newDiscussionRoute, + }, + { + path: ':discussionId', + ...discussionRoute, + }, + ], + }, +]; const mainMenuRoutes: Routes = [ { @@ -48,24 +96,27 @@ const mainMenuRoutes: Routes = [ }, { path: `${ADDON_MOD_FORUM_PAGE_NAME}/discussion/:discussionId`, - loadChildren: () => import('./forum-discussion-lazy.module'), data: { swipeEnabled: false }, + ...discussionRoute, }, { path: ADDON_MOD_FORUM_PAGE_NAME, - loadChildren: () => import('./forum-lazy.module'), + children: [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + ], }, ...conditionalRoutes( [ { path: `${CORE_COURSE_CONTENTS_PATH}/${ADDON_MOD_FORUM_PAGE_NAME}/new/:timeCreated`, - loadChildren: () => import('./forum-new-discussion-lazy.module'), data: { discussionsPathPrefix: `${ADDON_MOD_FORUM_PAGE_NAME}/` }, + ...newDiscussionRoute, }, { path: `${CORE_COURSE_CONTENTS_PATH}/${ADDON_MOD_FORUM_PAGE_NAME}/:discussionId`, - loadChildren: () => import('./forum-discussion-lazy.module'), data: { discussionsPathPrefix: `${ADDON_MOD_FORUM_PAGE_NAME}/` }, + ...discussionRoute, }, ], () => CoreScreen.isMobile, @@ -77,13 +128,13 @@ const courseContentsRoutes: Routes = conditionalRoutes( [ { path: `${ADDON_MOD_FORUM_PAGE_NAME}/new/:timeCreated`, - loadChildren: () => import('./forum-new-discussion-lazy.module'), + ...newDiscussionRoute, data: { discussionsPathPrefix: `${ADDON_MOD_FORUM_PAGE_NAME}/` }, }, { path: `${ADDON_MOD_FORUM_PAGE_NAME}/:discussionId`, - loadChildren: () => import('./forum-discussion-lazy.module'), data: { discussionsPathPrefix: `${ADDON_MOD_FORUM_PAGE_NAME}/` }, + ...discussionRoute, }, ], () => CoreScreen.isTablet, diff --git a/src/addons/mod/glossary/glossary-edit-lazy.module.ts b/src/addons/mod/glossary/glossary-edit-lazy.module.ts deleted file mode 100644 index 2c2d441265d..00000000000 --- a/src/addons/mod/glossary/glossary-edit-lazy.module.ts +++ /dev/null @@ -1,30 +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 { canLeaveGuard } from '@guards/can-leave'; - -const routes: Routes = [{ - path: '', - loadComponent: () => import('./pages/edit/edit'), - canDeactivate: [canLeaveGuard], -}]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonModGlossaryEditLazyModule {} diff --git a/src/addons/mod/glossary/glossary-lazy.module.ts b/src/addons/mod/glossary/glossary-lazy.module.ts deleted file mode 100644 index 38a512d6fc1..00000000000 --- a/src/addons/mod/glossary/glossary-lazy.module.ts +++ /dev/null @@ -1,63 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; - -const mobileRoutes: Routes = [ - { - path: ':courseId/:cmId', - loadComponent: () => import('./pages/index/index'), - }, - { - path: ':courseId/:cmId/entry/:entrySlug', - loadComponent: () => import('./pages/entry/entry'), - }, -]; - -const tabletRoutes: Routes = [ - { - path: ':courseId/:cmId', - loadComponent: () => import('./pages/index/index'), - children: [ - { - path: 'entry/:entrySlug', - loadComponent: () => import('./pages/entry/entry'), - }, - ], - }, -]; - -const routes: Routes = [ - { - path: ':courseId/:cmId/entry/new', - loadChildren: () => import('./glossary-edit-lazy.module'), - }, - { - path: ':courseId/:cmId/entry/:entrySlug/edit', - loadChildren: () => import('./glossary-edit-lazy.module'), - }, - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class AddonModGlossaryLazyModule {} diff --git a/src/addons/mod/glossary/glossary.module.ts b/src/addons/mod/glossary/glossary.module.ts index 26cec3d285e..a70cf6adac7 100644 --- a/src/addons/mod/glossary/glossary.module.ts +++ b/src/addons/mod/glossary/glossary.module.ts @@ -14,7 +14,7 @@ import { conditionalRoutes } from '@/app/app-routing.module'; import { APP_INITIALIZER, NgModule } from '@angular/core'; -import { Routes } from '@angular/router'; +import { Route, Routes } from '@angular/router'; import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; import { CORE_COURSE_CONTENTS_PATH } from '@features/course/constants'; import { CoreCourseContentsRoutingModule } from '@features/course/course-contents-routing.module'; @@ -36,6 +36,36 @@ import { AddonModGlossaryPrefetchHandler } from './services/handlers/prefetch'; import { AddonModGlossarySyncCronHandler } from './services/handlers/sync-cron'; import { AddonModGlossaryTagAreaHandler } from './services/handlers/tag-area'; import { ADDON_MOD_GLOSSARY_COMPONENT, ADDON_MOD_GLOSSARY_PAGE_NAME } from './constants'; +import { canLeaveGuard } from '@guards/can-leave'; + +const mobileRoutes: Routes = [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + }, + { + path: ':courseId/:cmId/entry/:entrySlug', + loadComponent: () => import('./pages/entry/entry'), + }, +]; + +const tabletRoutes: Routes = [ + { + path: ':courseId/:cmId', + loadComponent: () => import('./pages/index/index'), + children: [ + { + path: 'entry/:entrySlug', + loadComponent: () => import('./pages/entry/entry'), + }, + ], + }, +]; + +const editRoute: Route = { + loadComponent: () => import('./pages/edit/edit'), + canDeactivate: [canLeaveGuard], +}; const mainMenuRoutes: Routes = [ // Link handlers navigation. @@ -47,19 +77,30 @@ const mainMenuRoutes: Routes = [ // Course activity navigation. { path: ADDON_MOD_GLOSSARY_PAGE_NAME, - loadChildren: () => import('./glossary-lazy.module'), + children: [ + { + path: ':courseId/:cmId/entry/new', + ...editRoute, + }, + { + path: ':courseId/:cmId/entry/:entrySlug/edit', + ...editRoute, + }, + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + ], }, // Single Activity format navigation. { path: `${CORE_COURSE_CONTENTS_PATH}/${ADDON_MOD_GLOSSARY_PAGE_NAME}/entry/new`, - loadChildren: () => import('./glossary-edit-lazy.module'), data: { glossaryPathPrefix: `${ADDON_MOD_GLOSSARY_PAGE_NAME}/` }, + ...editRoute, }, { path: `${CORE_COURSE_CONTENTS_PATH}/${ADDON_MOD_GLOSSARY_PAGE_NAME}/entry/:entrySlug/edit`, - loadChildren: () => import('./glossary-edit-lazy.module'), data: { glossaryPathPrefix: `${ADDON_MOD_GLOSSARY_PAGE_NAME}/` }, + ...editRoute, }, ...conditionalRoutes( [{ diff --git a/src/core/features/courses/courses-my-lazy.module.ts b/src/core/features/courses/courses-my-lazy.module.ts deleted file mode 100644 index 769840d33c0..00000000000 --- a/src/core/features/courses/courses-my-lazy.module.ts +++ /dev/null @@ -1,30 +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'; - -const routes: Routes = [ - { - path: '', - loadComponent: () => import('@features/courses/pages/my/my'), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreCoursesMyLazyModule {} diff --git a/src/core/features/grades/grades-course-participants-lazy.module.ts b/src/core/features/grades/grades-course-participants-lazy.module.ts deleted file mode 100644 index 859b2acf49a..00000000000 --- a/src/core/features/grades/grades-course-participants-lazy.module.ts +++ /dev/null @@ -1,40 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -import { CoreScreen } from '@services/screen'; - -const routes: Routes = [ - { - path: '', - loadComponent: () => import('@features/user/pages/participants/participants'), - children: conditionalRoutes([ - { - path: ':userId', - loadComponent: () => import('@features/grades/pages/course/course'), - data: { swipeManagerSource: 'participants' }, - }, - ], () => CoreScreen.isTablet), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreGradesCourseParticipantsLazyModule {} diff --git a/src/core/features/grades/grades-courses-lazy.module.ts b/src/core/features/grades/grades-courses-lazy.module.ts deleted file mode 100644 index 9c3d041f54b..00000000000 --- a/src/core/features/grades/grades-courses-lazy.module.ts +++ /dev/null @@ -1,55 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; - -const mobileRoutes: Routes = [ - { - path: '', - loadComponent: () => import('@features/grades/pages/courses/courses'), - }, - { - path: ':courseId', - loadComponent: () => import('@features/grades/pages/course/course'), - }, -]; - -const tabletRoutes: Routes = [ - { - path: '', - loadComponent: () => import('@features/grades/pages/courses/courses'), - children: [ - { - path: ':courseId', - loadComponent: () => import('@features/grades/pages/course/course'), - }, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreGradesCoursesLazyModule {} diff --git a/src/core/features/grades/grades.module.ts b/src/core/features/grades/grades.module.ts index 5634fbd1d39..e2aaf7c6d00 100644 --- a/src/core/features/grades/grades.module.ts +++ b/src/core/features/grades/grades.module.ts @@ -46,10 +46,37 @@ export async function getGradesServices(): Promise[]> { ]; } +const mobileRoutes: Routes = [ + { + path: '', + loadComponent: () => import('@features/grades/pages/courses/courses'), + }, + { + path: ':courseId', + loadComponent: () => import('@features/grades/pages/course/course'), + }, +]; + +const tabletRoutes: Routes = [ + { + path: '', + loadComponent: () => import('@features/grades/pages/courses/courses'), + children: [ + { + path: ':courseId', + loadComponent: () => import('@features/grades/pages/course/course'), + }, + ], + }, +]; + const mainMenuChildrenRoutes: Routes = [ { path: GRADES_PAGE_NAME, - loadChildren: () => import('./grades-courses-lazy.module'), + children: [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + ], data: { swipeManagerSource: 'courses' }, }, { @@ -72,7 +99,14 @@ const courseIndexRoutes: Routes = [ }, { path: GRADES_PARTICIPANTS_PAGE_NAME, - loadChildren: () => import('./grades-course-participants-lazy.module'), + loadComponent: () => import('@features/user/pages/participants/participants'), + children: conditionalRoutes([ + { + path: ':userId', + loadComponent: () => import('@features/grades/pages/course/course'), + data: { swipeManagerSource: 'participants' }, + }, + ], () => CoreScreen.isTablet), }, ]; diff --git a/src/core/features/login/login-lazy.module.ts b/src/core/features/login/login-lazy.module.ts deleted file mode 100644 index 9fefe48eb10..00000000000 --- a/src/core/features/login/login-lazy.module.ts +++ /dev/null @@ -1,63 +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 { hasSitesGuard } from './guards/has-sites'; -import { CoreLoginHelper } from './services/login-helper'; - -const routes: Routes = [ - { - path: '', - pathMatch: 'full', - redirectTo: 'sites', - }, - { - path: 'site', - loadComponent: () => import('@features/login/pages/site/site'), - }, - { - path: 'credentials', - loadChildren: () => CoreLoginHelper.getCredentialsRouteModule(), - }, - { - path: 'sites', - loadComponent: () => import('@features/login/pages/sites/sites'), - canActivate: [hasSitesGuard], - }, - { - path: 'forgottenpassword', - loadComponent: () => import('@features/login/pages/forgotten-password/forgotten-password'), - }, - { - path: 'changepassword', - loadComponent: () => import('@features/login/pages/change-password/change-password'), - }, - { - path: 'emailsignup', - loadComponent: () => import('@features/login/pages/email-signup/email-signup'), - }, - { - path: 'reconnect', - loadChildren: () => CoreLoginHelper.getReconnectRouteModule(), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreLoginLazyModule {} diff --git a/src/core/features/login/login.module.ts b/src/core/features/login/login.module.ts index 8030f6411d2..a6a2f95e7df 100644 --- a/src/core/features/login/login.module.ts +++ b/src/core/features/login/login.module.ts @@ -21,6 +21,7 @@ import { redirectGuard } from '@guards/redirect'; import { CoreLoginCronHandler } from './services/handlers/cron'; import { CoreCronDelegate } from '@services/cron'; import { CoreEvents } from '@singletons/events'; +import { hasSitesGuard } from './guards/has-sites'; /** * Get login services. @@ -38,7 +39,42 @@ export async function getLoginServices(): Promise[]> { const appRoutes: Routes = [ { path: 'login', - loadChildren: () => import('./login-lazy.module'), + children: [ + { + path: '', + pathMatch: 'full', + redirectTo: 'sites', + }, + { + path: 'site', + loadComponent: () => import('@features/login/pages/site/site'), + }, + { + path: 'credentials', + loadChildren: () => CoreLoginHelper.getCredentialsRouteModule(), + }, + { + path: 'sites', + loadComponent: () => import('@features/login/pages/sites/sites'), + canActivate: [hasSitesGuard], + }, + { + path: 'forgottenpassword', + loadComponent: () => import('@features/login/pages/forgotten-password/forgotten-password'), + }, + { + path: 'changepassword', + loadComponent: () => import('@features/login/pages/change-password/change-password'), + }, + { + path: 'emailsignup', + loadComponent: () => import('@features/login/pages/email-signup/email-signup'), + }, + { + path: 'reconnect', + loadChildren: () => CoreLoginHelper.getReconnectRouteModule(), + }, + ], canActivate: [redirectGuard], }, { diff --git a/src/core/features/settings/settings-lazy.module.ts b/src/core/features/settings/settings-lazy.module.ts deleted file mode 100644 index 6c7e0e531ab..00000000000 --- a/src/core/features/settings/settings-lazy.module.ts +++ /dev/null @@ -1,95 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; - -import { SHAREDFILES_PAGE_NAME } from '@features/sharedfiles/constants'; - -const sectionRoutes: Routes = [ - { - path: 'general', - loadComponent: () => import('@features/settings/pages/general/general'), - }, - { - path: 'spaceusage', - loadComponent: () => import('@features/settings/pages/space-usage/space-usage'), - }, - { - path: 'sync', - loadComponent: () => import('@features/settings/pages/synchronization/synchronization'), - }, - { - path: SHAREDFILES_PAGE_NAME, - loadChildren: () => import('@features/sharedfiles/sharedfiles-lazy.module'), - }, - { - path: 'about', - loadComponent: () => import('@features/settings/pages/about/about'), - }, -]; - -const mobileRoutes: Routes = [ - { - path: '', - loadComponent: () => import('@features/settings/pages/index/index'), - }, - ...sectionRoutes, -]; - -const tabletRoutes: Routes = [ - { - path: '', - loadComponent: () => import('@features/settings/pages/index/index'), - children: [ - { - path: '', - pathMatch: 'full', - redirectTo: 'general', - }, - ...sectionRoutes, - ], - }, -]; - -const routes: Routes = [ - ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), - ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), - { - path: 'about/deviceinfo', - loadComponent: () => import('@features/settings/pages/deviceinfo/deviceinfo'), - }, - { - path: 'about/deviceinfo/dev', - loadComponent: () => import('@features/settings/pages/dev/dev'), - }, - { - path: 'about/deviceinfo/dev/error-log', - loadComponent: () => import('@features/settings/pages/error-log/error-log'), - }, - { - path: 'about/licenses', - loadComponent: () => import('@features/settings/pages/licenses/licenses'), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreSettingsLazyModule {} diff --git a/src/core/features/settings/settings.module.ts b/src/core/features/settings/settings.module.ts index 72a98a2d846..800bcedf9d0 100644 --- a/src/core/features/settings/settings.module.ts +++ b/src/core/features/settings/settings.module.ts @@ -15,9 +15,12 @@ import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; import { Routes } from '@angular/router'; -import { AppRoutingModule } from '@/app/app-routing.module'; +import { AppRoutingModule, conditionalRoutes } from '@/app/app-routing.module'; import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; import { CoreSettingsHelper } from './services/settings-helper'; +import { SHAREDFILES_PAGE_NAME } from '@features/sharedfiles/constants'; +import { getSharedFilesRoutes } from '@features/sharedfiles/sharedfiles.module'; +import { CoreScreen } from '@services/screen'; /** * Get settings services. @@ -34,17 +37,84 @@ export async function getSettingsServices(): Promise[]> { ]; } +const sectionRoutes: Routes = [ + { + path: 'general', + loadComponent: () => import('@features/settings/pages/general/general'), + }, + { + path: 'spaceusage', + loadComponent: () => import('@features/settings/pages/space-usage/space-usage'), + }, + { + path: 'sync', + loadComponent: () => import('@features/settings/pages/synchronization/synchronization'), + }, + { + path: SHAREDFILES_PAGE_NAME, + children: getSharedFilesRoutes(), + }, + { + path: 'about', + loadComponent: () => import('@features/settings/pages/about/about'), + }, +]; + +const mobileRoutes: Routes = [ + { + path: '', + loadComponent: () => import('@features/settings/pages/index/index'), + }, + ...sectionRoutes, +]; + +const tabletRoutes: Routes = [ + { + path: '', + loadComponent: () => import('@features/settings/pages/index/index'), + children: [ + { + path: '', + pathMatch: 'full', + redirectTo: 'general', + }, + ...sectionRoutes, + ], + }, +]; + +const settingsRoutes: Routes = [ + ...conditionalRoutes(mobileRoutes, () => CoreScreen.isMobile), + ...conditionalRoutes(tabletRoutes, () => CoreScreen.isTablet), + { + path: 'about/deviceinfo', + loadComponent: () => import('@features/settings/pages/deviceinfo/deviceinfo'), + }, + { + path: 'about/deviceinfo/dev', + loadComponent: () => import('@features/settings/pages/dev/dev'), + }, + { + path: 'about/deviceinfo/dev/error-log', + loadComponent: () => import('@features/settings/pages/error-log/error-log'), + }, + { + path: 'about/licenses', + loadComponent: () => import('@features/settings/pages/licenses/licenses'), + }, +]; + const appRoutes: Routes = [ { path: 'settings', - loadChildren: () => import('./settings-lazy.module'), + children: settingsRoutes, }, ]; const mainMenuMoreRoutes: Routes = [ { path: 'settings', - loadChildren: () => import('./settings-lazy.module'), + children: settingsRoutes, }, { path: 'preferences', diff --git a/src/core/features/sharedfiles/sharedfiles-lazy.module.ts b/src/core/features/sharedfiles/sharedfiles-lazy.module.ts deleted file mode 100644 index a2a43d6cf4a..00000000000 --- a/src/core/features/sharedfiles/sharedfiles-lazy.module.ts +++ /dev/null @@ -1,34 +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'; - -const routes: Routes = [ - { - path: 'choosesite', - loadComponent: () => import('@features/sharedfiles/pages/choose-site/choose-site'), - }, - { - path: 'list/:hash', - loadComponent: () => import('@features/sharedfiles/pages/list/list'), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreSharedFilesLazyModule {} diff --git a/src/core/features/sharedfiles/sharedfiles.module.ts b/src/core/features/sharedfiles/sharedfiles.module.ts index b7a543a2dab..a6271df64f9 100644 --- a/src/core/features/sharedfiles/sharedfiles.module.ts +++ b/src/core/features/sharedfiles/sharedfiles.module.ts @@ -41,10 +41,28 @@ export async function getSharedFilesServices(): Promise[]> { ]; } +/** + * Get the shared files routes. + * + * @returns Shared files routes. + */ +export function getSharedFilesRoutes(): Routes { + return [ + { + path: 'choosesite', + loadComponent: () => import('@features/sharedfiles/pages/choose-site/choose-site'), + }, + { + path: 'list/:hash', + loadComponent: () => import('@features/sharedfiles/pages/list/list'), + }, + ]; +} + const routes: Routes = [ { path: SHAREDFILES_PAGE_NAME, - loadChildren: () => import('./sharedfiles-lazy.module'), + children: getSharedFilesRoutes(), }, ]; diff --git a/src/core/features/user/user-course-lazy.module.ts b/src/core/features/user/user-course-lazy.module.ts deleted file mode 100644 index 82b7bd1f62d..00000000000 --- a/src/core/features/user/user-course-lazy.module.ts +++ /dev/null @@ -1,40 +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 { conditionalRoutes } from '@/app/app-routing.module'; -import { CoreScreen } from '@services/screen'; - -const routes: Routes = [ - { - path: '', - loadComponent: () => import('@features/user/pages/participants/participants'), - children: conditionalRoutes([ - { - path: ':userId', - loadComponent: () => import('@features/user/pages/profile/profile'), - data: { swipeManagerSource: 'participants' }, - }, - ], () => CoreScreen.isTablet), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreUserCourseLazyModule {} diff --git a/src/core/features/user/user-lazy.module.ts b/src/core/features/user/user-lazy.module.ts deleted file mode 100644 index 9f598229fe2..00000000000 --- a/src/core/features/user/user-lazy.module.ts +++ /dev/null @@ -1,39 +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'; - -const routes: Routes = [ - { - path: '', - redirectTo: 'profile', - pathMatch: 'full', - }, - { - path: 'profile', - loadComponent: () => import('@features/user/pages/profile/profile'), - }, - { - path: 'about', - loadComponent: () => import('@features/user/pages/about/about'), - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreUserLazyModule {} diff --git a/src/core/features/user/user.module.ts b/src/core/features/user/user.module.ts index 5ee7c7fae9c..14c63720acf 100644 --- a/src/core/features/user/user.module.ts +++ b/src/core/features/user/user.module.ts @@ -69,7 +69,21 @@ const appRoutes: Routes = [ const routes: Routes = [ { path: 'user', - loadChildren: () => import('@features/user/user-lazy.module'), + children: [ + { + path: '', + redirectTo: 'profile', + pathMatch: 'full', + }, + { + path: 'profile', + loadComponent: () => import('@features/user/pages/profile/profile'), + }, + { + path: 'about', + loadComponent: () => import('@features/user/pages/about/about'), + }, + ], }, ...conditionalRoutes([ { @@ -85,7 +99,14 @@ const routes: Routes = [ const courseIndexRoutes: Routes = [ { path: PARTICIPANTS_PAGE_NAME, - loadChildren: () => import('@features/user/user-course-lazy.module'), + loadComponent: () => import('@features/user/pages/participants/participants'), + children: conditionalRoutes([ + { + path: ':userId', + loadComponent: () => import('@features/user/pages/profile/profile'), + data: { swipeManagerSource: 'participants' }, + }, + ], () => CoreScreen.isTablet), }, ]; From f70a43c7b1fbbb3f8c70ff8bdf971016eb596d59 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 13/16] 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 | 14 +++++--- .../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 +++--- src/core/features/login/login.module.ts | 4 +-- .../features/login/services/login-helper.ts | 10 +++--- .../components/module-index/module-index.ts | 2 +- 39 files changed, 63 insertions(+), 89 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..6c2ea77fb9f 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { InjectionToken, Injector, ModuleWithProviders, NgModule, NgModuleFactory, Type } from '@angular/core'; +import { InjectionToken, Injector, ModuleWithProviders, NgModule, Type } from '@angular/core'; import { RouterModule, Route, @@ -100,17 +100,23 @@ function buildConditionalUrlMatcher(pathOrMatcher: string | UrlMatcher, conditio /** * Type to declare lazy route modules. Extracted from Angular's LoadChildrenCallback type. + * + * @deprecated since 5.0. Now pages are loaded using the loadComponent property. You can use LazyDefaultStandaloneComponent instead. */ // eslint-disable-next-line @typescript-eslint/no-explicit-any export type LazyRoutesModule = Type | - NgModuleFactory | // eslint-disable-line deprecation/deprecation, @typescript-eslint/no-explicit-any Routes | Observable | // eslint-disable-line @typescript-eslint/no-explicit-any Routes | DefaultExport> | // eslint-disable-line @typescript-eslint/no-explicit-any DefaultExport> | - // eslint-disable-next-line deprecation/deprecation, @typescript-eslint/no-explicit-any - Promise | Type | Routes | DefaultExport> |DefaultExport>; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + Promise | 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..e71555da1c8 100644 --- a/src/core/features/courses/services/courses-helper.ts +++ b/src/core/features/courses/services/courses-helper.ts @@ -31,8 +31,8 @@ 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 { CoreSite } from '@classes/sites/site'; +import { LazyDefaultStandaloneComponent } from '@/app/app-routing.module'; // Id for a course item representing all courses (for example, for course filters). export const ALL_COURSES_ID = -1; @@ -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(): LazyDefaultStandaloneComponent { + return import('@features/courses/pages/my/my'); } /** diff --git a/src/core/features/login/login.module.ts b/src/core/features/login/login.module.ts index a6a2f95e7df..d68872054c2 100644 --- a/src/core/features/login/login.module.ts +++ b/src/core/features/login/login.module.ts @@ -51,7 +51,7 @@ const appRoutes: Routes = [ }, { path: 'credentials', - loadChildren: () => CoreLoginHelper.getCredentialsRouteModule(), + loadComponent: () => CoreLoginHelper.getCredentialsPage(), }, { path: 'sites', @@ -72,7 +72,7 @@ const appRoutes: Routes = [ }, { path: 'reconnect', - loadChildren: () => CoreLoginHelper.getReconnectRouteModule(), + loadComponent: () => CoreLoginHelper.getReconnectPage(), }, ], canActivate: [redirectGuard], diff --git a/src/core/features/login/services/login-helper.ts b/src/core/features/login/services/login-helper.ts index 663e34b69cd..0b895090a52 100644 --- a/src/core/features/login/services/login-helper.ts +++ b/src/core/features/login/services/login-helper.ts @@ -55,7 +55,7 @@ import { IDENTITY_PROVIDERS_FEATURE_NAME, IDENTITY_PROVIDER_FEATURE_NAME_PREFIX, } from '../constants'; -import { LazyRoutesModule } from '@/app/app-routing.module'; +import { LazyDefaultStandaloneComponent } from '@/app/app-routing.module'; import { CoreSiteError } from '@classes/errors/siteerror'; import { CoreQRScan } from '@services/qrscan'; import { CoreLoadings } from '@services/overlays/loadings'; @@ -1425,8 +1425,8 @@ export class CoreLoginHelperProvider { * * @returns Reconnect page route module. */ - getReconnectRouteModule(): LazyRoutesModule { - return import('@features/login/login-reconnect-lazy.module'); + getReconnectPage(): LazyDefaultStandaloneComponent { + return import('@features/login/pages/reconnect/reconnect'); } /** @@ -1434,8 +1434,8 @@ export class CoreLoginHelperProvider { * * @returns Credentials page route module. */ - getCredentialsRouteModule(): LazyRoutesModule { - return import('@features/login/login-credentials-lazy.module'); + getCredentialsPage(): LazyDefaultStandaloneComponent { + return import('@features/login/pages/credentials/credentials'); } /** 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 { From 740550ea6c384a73be80eddece02476e8c18efd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Tue, 4 Feb 2025 16:46:18 +0100 Subject: [PATCH 14/16] MOBILE-4759 chore: Correct indentation on imports --- .../mod/workshop/components/index/index.ts | 10 +++++----- src/addons/notifications/pages/list/list.ts | 6 +++--- .../components/side-blocks/side-blocks.ts | 6 +++--- src/core/features/courses/pages/my/my.ts | 18 +++++++++--------- .../components/login-methods/login-methods.ts | 6 +++--- .../login/pages/email-signup/email-signup.ts | 6 +++--- src/core/features/mainmenu/pages/home/home.ts | 8 ++++---- src/core/features/mainmenu/pages/more/more.ts | 6 +++--- .../reportbuilder/pages/report/report.ts | 2 +- .../components/module-index/module-index.ts | 2 +- 10 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/addons/mod/workshop/components/index/index.ts b/src/addons/mod/workshop/components/index/index.ts index 4d79b1d9ac4..d9cd1b713c9 100644 --- a/src/addons/mod/workshop/components/index/index.ts +++ b/src/addons/mod/workshop/components/index/index.ts @@ -72,11 +72,11 @@ import { CoreCourseModuleInfoComponent } from '@features/course/components/modul templateUrl: 'addon-mod-workshop-index.html', standalone: true, imports: [ - CoreSharedModule, - AddonModWorkshopSubmissionComponent, - CoreCourseModuleNavigationComponent, - CoreCourseModuleInfoComponent, -], + CoreSharedModule, + AddonModWorkshopSubmissionComponent, + CoreCourseModuleNavigationComponent, + CoreCourseModuleInfoComponent, + ], }) export class AddonModWorkshopIndexComponent extends CoreCourseModuleMainActivityComponent implements OnInit, OnDestroy { diff --git a/src/addons/notifications/pages/list/list.ts b/src/addons/notifications/pages/list/list.ts index b46fa85c723..97626cb4324 100644 --- a/src/addons/notifications/pages/list/list.ts +++ b/src/addons/notifications/pages/list/list.ts @@ -46,9 +46,9 @@ import { CoreMainMenuUserButtonComponent } from '@features/mainmenu/components/u styleUrls: ['list.scss', '../../notifications.scss'], standalone: true, imports: [ - CoreSharedModule, - CoreMainMenuUserButtonComponent, -], + CoreSharedModule, + CoreMainMenuUserButtonComponent, + ], }) export default class AddonNotificationsListPage implements AfterViewInit, OnDestroy { diff --git a/src/core/features/block/components/side-blocks/side-blocks.ts b/src/core/features/block/components/side-blocks/side-blocks.ts index 3a355c60e67..1aa6b023f81 100644 --- a/src/core/features/block/components/side-blocks/side-blocks.ts +++ b/src/core/features/block/components/side-blocks/side-blocks.ts @@ -34,9 +34,9 @@ import { CoreAlerts } from '@services/overlays/alerts'; styleUrl: 'side-blocks.scss', standalone: true, imports: [ - CoreSharedModule, - CoreBlockComponent, -], + CoreSharedModule, + CoreBlockComponent, + ], }) export class CoreBlockSideBlocksComponent implements OnInit { diff --git a/src/core/features/courses/pages/my/my.ts b/src/core/features/courses/pages/my/my.ts index e0021c7a974..14b15f5ca1a 100644 --- a/src/core/features/courses/pages/my/my.ts +++ b/src/core/features/courses/pages/my/my.ts @@ -44,17 +44,17 @@ import { CoreBlockSideBlocksButtonComponent } from '../../../block/components/si templateUrl: 'my.html', styleUrl: 'my.scss', providers: [{ - provide: PageLoadsManager, - useClass: PageLoadsManager, - }], + provide: PageLoadsManager, + useClass: PageLoadsManager, + }], standalone: true, imports: [ - CoreSharedModule, - CoreSiteLogoComponent, - CoreMainMenuUserButtonComponent, - CoreBlockComponent, - CoreBlockSideBlocksButtonComponent, -], + CoreSharedModule, + CoreSiteLogoComponent, + CoreMainMenuUserButtonComponent, + CoreBlockComponent, + CoreBlockSideBlocksButtonComponent, + ], }) export default class CoreCoursesMyPage implements OnInit, OnDestroy, AsyncDirective { diff --git a/src/core/features/login/components/login-methods/login-methods.ts b/src/core/features/login/components/login-methods/login-methods.ts index ff57df388f1..1fb9d79c107 100644 --- a/src/core/features/login/components/login-methods/login-methods.ts +++ b/src/core/features/login/components/login-methods/login-methods.ts @@ -28,9 +28,9 @@ import { CoreLoginIdentityProviderComponent } from '../identity-provider/identit styleUrl: '../../login.scss', standalone: true, imports: [ - CoreSharedModule, - CoreLoginIdentityProviderComponent, -], + CoreSharedModule, + CoreLoginIdentityProviderComponent, + ], }) export class CoreLoginMethodsComponent implements OnInit { diff --git a/src/core/features/login/pages/email-signup/email-signup.ts b/src/core/features/login/pages/email-signup/email-signup.ts index 686b0f9388f..3c0612bd7b0 100644 --- a/src/core/features/login/pages/email-signup/email-signup.ts +++ b/src/core/features/login/pages/email-signup/email-signup.ts @@ -51,9 +51,9 @@ import { CoreUserProfileFieldComponent } from '@features/user/components/user-pr styleUrl: '../../login.scss', standalone: true, imports: [ - CoreSharedModule, - CoreUserProfileFieldComponent, -], + CoreSharedModule, + CoreUserProfileFieldComponent, + ], }) export default class CoreLoginEmailSignupPage implements OnInit { diff --git a/src/core/features/mainmenu/pages/home/home.ts b/src/core/features/mainmenu/pages/home/home.ts index 5ebcc0f4515..8c65c8ab94a 100644 --- a/src/core/features/mainmenu/pages/home/home.ts +++ b/src/core/features/mainmenu/pages/home/home.ts @@ -33,10 +33,10 @@ import { CoreMainMenuUserButtonComponent } from '../../components/user-menu-butt templateUrl: 'home.html', standalone: true, imports: [ - CoreSharedModule, - CoreSiteLogoComponent, - CoreMainMenuUserButtonComponent, -], + CoreSharedModule, + CoreSiteLogoComponent, + CoreMainMenuUserButtonComponent, + ], }) export default class CoreMainMenuHomePage implements OnInit { diff --git a/src/core/features/mainmenu/pages/more/more.ts b/src/core/features/mainmenu/pages/more/more.ts index 99d613f951a..0b8df63c6e5 100644 --- a/src/core/features/mainmenu/pages/more/more.ts +++ b/src/core/features/mainmenu/pages/more/more.ts @@ -36,9 +36,9 @@ import { CoreMainMenuUserButtonComponent } from '../../components/user-menu-butt styleUrl: 'more.scss', standalone: true, imports: [ - CoreSharedModule, - CoreMainMenuUserButtonComponent, -], + CoreSharedModule, + CoreMainMenuUserButtonComponent, + ], }) export default class CoreMainMenuMorePage implements OnInit, OnDestroy { diff --git a/src/core/features/reportbuilder/pages/report/report.ts b/src/core/features/reportbuilder/pages/report/report.ts index 2f3fa358c52..9eb29d38b67 100644 --- a/src/core/features/reportbuilder/pages/report/report.ts +++ b/src/core/features/reportbuilder/pages/report/report.ts @@ -24,7 +24,7 @@ import { CoreReportBuilderReportDetailComponent } from '../../components/report- templateUrl: './report.html', standalone: true, imports: [ - CoreSharedModule, + CoreSharedModule, CoreReportBuilderReportDetailComponent, ], }) 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 05d865fbaf6..9ddf48fd7e3 100644 --- a/src/core/features/siteplugins/components/module-index/module-index.ts +++ b/src/core/features/siteplugins/components/module-index/module-index.ts @@ -43,7 +43,7 @@ import { CoreCourseModuleNavigationComponent } from '@features/course/components templateUrl: 'core-siteplugins-module-index.html', styles: [':host { display: contents; }'], standalone: true, - imports: [ + imports: [ CoreSharedModule, CoreSitePluginsPluginContentComponent, CoreCourseModuleInfoComponent, From 788e40cca0e51306f5689b29aa88b901e6a38737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Tue, 4 Feb 2025 16:47:06 +0100 Subject: [PATCH 15/16] MOBILE-4759 chore: Always use CoreSharedModule on pages and components --- .../course/format/singleactivity/components/singleactivity.ts | 3 ++- .../user/components/user-profile-field/user-profile-field.ts | 4 ++-- src/core/features/usertours/components/user-tour/user-tour.ts | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/core/features/course/format/singleactivity/components/singleactivity.ts b/src/core/features/course/format/singleactivity/components/singleactivity.ts index 67df6cea8e9..0df7a23dc4d 100644 --- a/src/core/features/course/format/singleactivity/components/singleactivity.ts +++ b/src/core/features/course/format/singleactivity/components/singleactivity.ts @@ -21,6 +21,7 @@ import { CoreCourseAnyCourseData } from '@features/courses/services/courses'; import { CoreCourseModuleCompletionData, CoreCourseModuleData, CoreCourseSection } from '@features/course/services/course-helper'; import { CoreCourse } from '@features/course/services/course'; import type { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Component to display single activity format. It will determine the right component to use and instantiate it. @@ -33,7 +34,7 @@ import type { CoreCourseModuleMainActivityComponent } from '@features/course/cla styleUrl: 'single-activity.scss', standalone: true, imports: [ - CoreDynamicComponent, + CoreSharedModule, ], }) export class CoreCourseFormatSingleActivityComponent implements OnChanges { diff --git a/src/core/features/user/components/user-profile-field/user-profile-field.ts b/src/core/features/user/components/user-profile-field/user-profile-field.ts index e4959449627..eedfadbcca0 100644 --- a/src/core/features/user/components/user-profile-field/user-profile-field.ts +++ b/src/core/features/user/components/user-profile-field/user-profile-field.ts @@ -21,7 +21,7 @@ import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profi import { CoreUtils } from '@singletons/utils'; import { ContextLevel } from '@/core/constants'; import { toBoolean } from '@/core/transforms/boolean'; -import { CoreDynamicComponent } from '../../../../components/dynamic-component/dynamic-component'; +import { CoreSharedModule } from '@/core/shared.module'; /** * Directive to render user profile field. @@ -31,7 +31,7 @@ import { CoreDynamicComponent } from '../../../../components/dynamic-component/d templateUrl: 'core-user-profile-field.html', standalone: true, imports: [ - CoreDynamicComponent, + CoreSharedModule, ], }) export class CoreUserProfileFieldComponent implements OnInit { diff --git a/src/core/features/usertours/components/user-tour/user-tour.ts b/src/core/features/usertours/components/user-tour/user-tour.ts index ccb54f636c7..c96fe349c5c 100644 --- a/src/core/features/usertours/components/user-tour/user-tour.ts +++ b/src/core/features/usertours/components/user-tour/user-tour.ts @@ -35,7 +35,7 @@ import { CoreDom } from '@singletons/dom'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { COLLAPSIBLE_HEADER_UPDATED } from '@directives/collapsible-header'; import { MAIN_MENU_VISIBILITY_UPDATED_EVENT } from '@features/mainmenu/constants'; -import { NgIf } from '@angular/common'; +import { CoreSharedModule } from '@/core/shared.module'; const ANIMATION_DURATION = 200; const USER_TOURS_BACK_BUTTON_PRIORITY = 100; @@ -52,7 +52,7 @@ const BACKDROP_DISMISS_SAFETY_TRESHOLD = 1000; styleUrl: 'user-tour.scss', standalone: true, imports: [ - NgIf, + CoreSharedModule, ], }) export class CoreUserToursUserTourComponent implements AfterViewInit, OnDestroy { From 9c5163b68321dc4c63a51b61dc151f3df7c2d2d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Tue, 4 Feb 2025 17:24:41 +0100 Subject: [PATCH 16/16] MOBILE-4759 chore: Add CoreBaseModule to be imported in main components --- src/core/base.module.ts | 33 +++++++++++++++++++ .../components/attachments/attachments.ts | 24 ++++++-------- src/core/components/bs-tooltip/bs-tooltip.ts | 4 +-- .../button-with-spinner.ts | 5 ++- src/core/components/chart/chart.ts | 9 +++-- src/core/components/chrono/chrono.ts | 4 ++- src/core/components/combobox/combobox.ts | 13 ++++---- .../context-menu/context-menu-popover.ts | 8 +++-- .../components/context-menu/context-menu.ts | 8 ++--- .../components/course-image/course-image.ts | 8 ++--- .../download-refresh/download-refresh.ts | 10 +++--- src/core/components/empty-box/empty-box.ts | 9 +++-- src/core/components/file/file.ts | 16 ++++----- src/core/components/files/files.ts | 12 +++---- .../group-selector/group-selector.ts | 12 +++---- .../horizontal-scroll-controls.ts | 10 +++--- src/core/components/iframe/iframe.ts | 16 ++++----- .../infinite-loading/infinite-loading.ts | 9 +++-- .../components/input-errors/input-errors.ts | 10 ++---- src/core/components/loading/loading.ts | 4 +-- src/core/components/local-file/local-file.ts | 18 ++++------ .../components/mark-required/mark-required.ts | 9 +++-- src/core/components/message/message.ts | 19 +++++------ src/core/components/mod-icon/mod-icon.ts | 8 +++-- .../navigation-bar/navigation-bar.ts | 10 +++--- .../password-modal/password-modal.ts | 18 ++++------ .../components/progress-bar/progress-bar.ts | 5 ++- src/core/components/recaptcha/recaptcha.ts | 8 ++--- .../refresh-button-modal.ts | 6 ++-- .../send-message-form/send-message-form.ts | 20 +++++------ .../components/sheet-modal/sheet-modal.ts | 4 +-- .../components/show-password/show-password.ts | 5 +-- src/core/components/site-logo/site-logo.ts | 10 ++++-- .../components/site-picker/site-picker.ts | 10 ++---- src/core/components/sites-list/sites-list.ts | 12 +++---- src/core/components/split-view/split-view.ts | 11 +++---- src/core/components/style/style.ts | 5 +-- .../swipe-navigation-tour.ts | 10 +++--- .../components/swipe-slides/swipe-slides.ts | 5 +-- .../components/tabs-outlet/tabs-outlet.ts | 11 +++---- src/core/components/tabs/tab.ts | 4 +-- src/core/components/tabs/tabs.ts | 10 +++--- src/core/components/timer/timer.ts | 10 ++---- .../components/user-avatar/user-avatar.ts | 8 ++--- src/core/shared.module.ts | 14 ++------ 45 files changed, 230 insertions(+), 244 deletions(-) create mode 100644 src/core/base.module.ts diff --git a/src/core/base.module.ts b/src/core/base.module.ts new file mode 100644 index 00000000000..2da0113e23d --- /dev/null +++ b/src/core/base.module.ts @@ -0,0 +1,33 @@ +// (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 { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; +import { CommonModule } from '@angular/common'; +import { IonicModule } from '@ionic/angular'; + +@NgModule({ + imports: [ + TranslateModule.forChild(), + ], + exports: [ + CommonModule, + FormsModule, + IonicModule, + ReactiveFormsModule, + TranslateModule, + ], +}) +export class CoreBaseModule {} diff --git a/src/core/components/attachments/attachments.ts b/src/core/components/attachments/attachments.ts index 41faab64d71..185c0d47309 100644 --- a/src/core/components/attachments/attachments.ts +++ b/src/core/components/attachments/attachments.ts @@ -28,15 +28,13 @@ import { toBoolean } from '@/core/transforms/boolean'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreToasts } from '@services/overlays/toasts'; import { CoreWSFile } from '@services/ws'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFileComponent } from '../file/file'; -import { CoreLocalFileComponent } from '../local-file/local-file'; -import { NgFor } from '@angular/common'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { CoreMarkRequiredComponent } from '../mark-required/mark-required'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; import { CoreLoadingComponent } from '../loading/loading'; +import { CoreLocalFileComponent } from '../local-file/local-file'; +import { CoreFileComponent } from '../file/file'; +import { CoreMarkRequiredComponent } from '@components/mark-required/mark-required'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component to render attachments, allow adding more and delete the current ones. @@ -57,15 +55,13 @@ import { CoreLoadingComponent } from '../loading/loading'; styleUrl: 'attachments.scss', standalone: true, imports: [ - CoreLoadingComponent, - IonicModule, - CoreMarkRequiredComponent, - CoreUpdateNonReactiveAttributesDirective, + CoreBaseModule, CoreFaIconDirective, - NgFor, + CoreUpdateNonReactiveAttributesDirective, + CoreLoadingComponent, CoreLocalFileComponent, CoreFileComponent, - TranslateModule, + CoreMarkRequiredComponent, ], }) export class CoreAttachmentsComponent implements OnInit { diff --git a/src/core/components/bs-tooltip/bs-tooltip.ts b/src/core/components/bs-tooltip/bs-tooltip.ts index 351713acdf8..ea9fb11fcec 100644 --- a/src/core/components/bs-tooltip/bs-tooltip.ts +++ b/src/core/components/bs-tooltip/bs-tooltip.ts @@ -12,9 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { CoreBaseModule } from '@/core/base.module'; import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input } from '@angular/core'; -import { IonicModule } from '@ionic/angular'; /** * Component to display a Bootstrap Tooltip in a popover. @@ -23,7 +23,7 @@ import { IonicModule } from '@ionic/angular'; selector: 'core-bs-tooltip', templateUrl: 'core-bs-tooltip.html', standalone: true, - imports: [IonicModule], + imports: [CoreBaseModule], }) export class CoreBSTooltipComponent { diff --git a/src/core/components/button-with-spinner/button-with-spinner.ts b/src/core/components/button-with-spinner/button-with-spinner.ts index df72df1306a..bf0e5bbac69 100644 --- a/src/core/components/button-with-spinner/button-with-spinner.ts +++ b/src/core/components/button-with-spinner/button-with-spinner.ts @@ -15,8 +15,7 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input } from '@angular/core'; import { CoreAnimations } from '@components/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; /** * Component to show a button or a spinner when loading. @@ -32,7 +31,7 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'button-with-spinner.scss', animations: [CoreAnimations.SHOW_HIDE], standalone: true, - imports: [IonicModule, TranslateModule], + imports: [CoreBaseModule], }) export class CoreButtonWithSpinnerComponent { diff --git a/src/core/components/chart/chart.ts b/src/core/components/chart/chart.ts index ff658608c8b..18c7b110361 100644 --- a/src/core/components/chart/chart.ts +++ b/src/core/components/chart/chart.ts @@ -18,8 +18,8 @@ import { Component, Input, OnDestroy, OnInit, ElementRef, OnChanges, ViewChild, import { CoreFilter } from '@features/filter/services/filter'; import { CoreFilterHelper } from '@features/filter/services/filter-helper'; import { ChartLegendLabelItem, ChartLegendOptions } from 'chart.js'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; /** * This component shows a chart using chart.js. @@ -34,7 +34,10 @@ import { IonicModule } from '@ionic/angular'; templateUrl: 'core-chart.html', styleUrl: 'chart.scss', standalone: true, - imports: [IonicModule, CoreFaIconDirective], + imports: [ + CoreBaseModule, + CoreFaIconDirective, + ], }) export class CoreChartComponent implements OnDestroy, OnInit, OnChanges { diff --git a/src/core/components/chrono/chrono.ts b/src/core/components/chrono/chrono.ts index 493fd48dd9e..a577d764ab4 100644 --- a/src/core/components/chrono/chrono.ts +++ b/src/core/components/chrono/chrono.ts @@ -24,7 +24,8 @@ import { SimpleChange, ChangeDetectorRef, } from '@angular/core'; -import { CoreSecondsToHMSPipe } from '../../pipes/seconds-to-hms'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreSecondsToHMSPipe } from '@pipes/seconds-to-hms'; /** * This component shows a chronometer in format HH:MM:SS. @@ -43,6 +44,7 @@ import { CoreSecondsToHMSPipe } from '../../pipes/seconds-to-hms'; templateUrl: 'core-chrono.html', standalone: true, imports: [ + CoreBaseModule, CoreSecondsToHMSPipe, ], }) diff --git a/src/core/components/combobox/combobox.ts b/src/core/components/combobox/combobox.ts index 5c20143a708..42228ad00c7 100644 --- a/src/core/components/combobox/combobox.ts +++ b/src/core/components/combobox/combobox.ts @@ -16,12 +16,12 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; import { Translate } from '@singletons'; import { ModalOptions } from '@ionic/core'; import { CoreModals } from '@services/overlays/modals'; -import { ControlValueAccessor, NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms'; +import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; import { toBoolean } from '@/core/transforms/boolean'; -import { CoreFormatTextDirective } from '../../directives/format-text'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreFormatTextDirective } from '@directives/format-text'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component that show a combo select button (combobox). @@ -54,8 +54,7 @@ import { IonicModule } from '@ionic/angular'; ], standalone: true, imports: [ - IonicModule, - FormsModule, + CoreBaseModule, CoreFaIconDirective, CoreUpdateNonReactiveAttributesDirective, CoreFormatTextDirective, diff --git a/src/core/components/context-menu/context-menu-popover.ts b/src/core/components/context-menu/context-menu-popover.ts index e392144da5b..f45c2991202 100644 --- a/src/core/components/context-menu/context-menu-popover.ts +++ b/src/core/components/context-menu/context-menu-popover.ts @@ -17,7 +17,9 @@ import { Component } from '@angular/core'; import { NavParams } from '@ionic/angular'; import { PopoverController } from '@singletons'; import { CoreContextMenuItemComponent } from './context-menu-item'; -import { CoreSharedModule } from '@/core/shared.module'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreLinkDirective } from '@directives/link'; /** * Component to display a list of items received by param in a popover. @@ -28,7 +30,9 @@ import { CoreSharedModule } from '@/core/shared.module'; styleUrl: 'context-menu-popover.scss', standalone: true, imports: [ - CoreSharedModule, + CoreBaseModule, + CoreFaIconDirective, + CoreLinkDirective, ], }) export class CoreContextMenuPopoverComponent { diff --git a/src/core/components/context-menu/context-menu.ts b/src/core/components/context-menu/context-menu.ts index 1911075a92b..18cbebd7756 100644 --- a/src/core/components/context-menu/context-menu.ts +++ b/src/core/components/context-menu/context-menu.ts @@ -20,9 +20,9 @@ import { CoreUtils } from '@singletons/utils'; import { Translate } from '@singletons'; import { CoreContextMenuItemComponent } from './context-menu-item'; import { CoreDirectivesRegistry } from '@singletons/directives-registry'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * This component adds a button (usually in the navigation bar) that displays a context menu popover. @@ -32,7 +32,7 @@ import { IonicModule } from '@ionic/angular'; templateUrl: 'core-context-menu.html', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, ], diff --git a/src/core/components/course-image/course-image.ts b/src/core/components/course-image/course-image.ts index d92253145e7..d98a22f20c8 100644 --- a/src/core/components/course-image/course-image.ts +++ b/src/core/components/course-image/course-image.ts @@ -17,9 +17,9 @@ import { Component, ElementRef, HostBinding, input, effect } from '@angular/core import { CoreCourseListItem } from '@features/courses/services/courses'; import { CoreCoursesHelper } from '@features/courses/services/courses-helper'; import { CoreColors } from '@singletons/colors'; -import { CoreExternalContentDirective } from '../../directives/external-content'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreExternalContentDirective } from '@directives/external-content'; +import { CoreFaIconDirective } from '@directives/fa-icon'; @Component({ selector: 'core-course-image', @@ -27,7 +27,7 @@ import { IonicModule } from '@ionic/angular'; styleUrl: './course-image.scss', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreFaIconDirective, CoreExternalContentDirective, ], diff --git a/src/core/components/download-refresh/download-refresh.ts b/src/core/components/download-refresh/download-refresh.ts index ccc1f46ba8e..60e15d68153 100644 --- a/src/core/components/download-refresh/download-refresh.ts +++ b/src/core/components/download-refresh/download-refresh.ts @@ -16,10 +16,9 @@ import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core'; import { DownloadStatus } from '@/core/constants'; import { CoreAnimations } from '@components/animations'; import { toBoolean } from '@/core/transforms/boolean'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component to show a download button with refresh option, the spinner and the status of it. @@ -35,10 +34,9 @@ import { IonicModule } from '@ionic/angular'; animations: [CoreAnimations.SHOW_HIDE], standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, - TranslateModule, ], }) export class CoreDownloadRefreshComponent implements OnInit { diff --git a/src/core/components/empty-box/empty-box.ts b/src/core/components/empty-box/empty-box.ts index 5215eb8ed03..bff3a9ffdcc 100644 --- a/src/core/components/empty-box/empty-box.ts +++ b/src/core/components/empty-box/empty-box.ts @@ -14,8 +14,8 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, HostBinding, Input } from '@angular/core'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; /** * Component to show an empty box message. It will show an optional icon or image and a text centered on page. @@ -30,7 +30,10 @@ import { IonicModule } from '@ionic/angular'; templateUrl: 'core-empty-box.html', styleUrl: 'empty-box.scss', standalone: true, - imports: [IonicModule, CoreFaIconDirective], + imports: [ + CoreBaseModule, + CoreFaIconDirective, + ], }) export class CoreEmptyBoxComponent { diff --git a/src/core/components/file/file.ts b/src/core/components/file/file.ts index dcbe399bc1f..620ac83cf9b 100644 --- a/src/core/components/file/file.ts +++ b/src/core/components/file/file.ts @@ -30,13 +30,12 @@ import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreOpener, CoreOpenerOpenFileOptions, OpenFileAction } from '@singletons/opener'; import { CoreAlerts } from '@services/overlays/alerts'; import { Translate } from '@singletons'; -import { CoreFormatDatePipe } from '../../pipes/format-date'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { CoreDownloadRefreshComponent } from '../download-refresh/download-refresh'; -import { CoreAriaButtonClickDirective } from '../../directives/aria-button'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFormatDatePipe } from '@pipes/format-date'; +import { CoreDownloadRefreshComponent } from '@components/download-refresh/download-refresh'; +import { CoreAriaButtonClickDirective } from '@directives/aria-button'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component to handle a remote file. Shows the file name, icon (depending on mimetype) and a button @@ -48,12 +47,11 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'core-file.scss', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreAriaButtonClickDirective, CoreDownloadRefreshComponent, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, - TranslateModule, CoreFormatDatePipe, ], }) diff --git a/src/core/components/files/files.ts b/src/core/components/files/files.ts index f68a89bea96..fa4c33c528d 100644 --- a/src/core/components/files/files.ts +++ b/src/core/components/files/files.ts @@ -17,11 +17,10 @@ import { Component, Input, OnInit, DoCheck, KeyValueDiffers } from '@angular/cor import { CoreFileEntry } from '@services/file-helper'; import { CoreMimetypeUtils } from '@services/utils/mimetype'; -import { IonicModule } from '@ionic/angular'; -import { CoreLocalFileComponent } from '../local-file/local-file'; +import { CoreBaseModule } from '@/core/base.module'; import { CoreFileComponent } from '../file/file'; -import { NgFor } from '@angular/common'; -import { CoreFormatTextDirective } from '../../directives/format-text'; +import { CoreLocalFileComponent } from '../local-file/local-file'; +import { CoreFormatTextDirective } from '@directives/format-text'; /** * Component to render a file list. @@ -34,11 +33,10 @@ import { CoreFormatTextDirective } from '../../directives/format-text'; templateUrl: 'core-files.html', standalone: true, imports: [ - CoreFormatTextDirective, - NgFor, + CoreBaseModule, CoreFileComponent, CoreLocalFileComponent, - IonicModule, + CoreFormatTextDirective, ], }) export class CoreFilesComponent implements OnInit, DoCheck { diff --git a/src/core/components/group-selector/group-selector.ts b/src/core/components/group-selector/group-selector.ts index 673d6d3e442..5a36a816cdc 100644 --- a/src/core/components/group-selector/group-selector.ts +++ b/src/core/components/group-selector/group-selector.ts @@ -20,11 +20,9 @@ import { ChangeDetectionStrategy, } from '@angular/core'; import { CoreGroupInfo } from '@services/groups'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFormatTextDirective } from '../../directives/format-text'; -import { FormsModule } from '@angular/forms'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreFormatTextDirective } from '@directives/format-text'; /** * Component to display a group selector. @@ -36,11 +34,9 @@ import { IonicModule } from '@ionic/angular'; changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreFaIconDirective, - FormsModule, CoreFormatTextDirective, - TranslateModule, ], }) export class CoreGroupSelectorComponent { diff --git a/src/core/components/horizontal-scroll-controls/horizontal-scroll-controls.ts b/src/core/components/horizontal-scroll-controls/horizontal-scroll-controls.ts index d82693edd5f..b381ddde5b9 100644 --- a/src/core/components/horizontal-scroll-controls/horizontal-scroll-controls.ts +++ b/src/core/components/horizontal-scroll-controls/horizontal-scroll-controls.ts @@ -14,10 +14,9 @@ import { Component, Input } from '@angular/core'; import { CorePlatform } from '@services/platform'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; const enum ScrollPosition { START = 'start', @@ -32,10 +31,9 @@ const enum ScrollPosition { styleUrl: './horizontal-scroll-controls.scss', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, - TranslateModule, ], }) export class CoreHorizontalScrollControlsComponent { diff --git a/src/core/components/iframe/iframe.ts b/src/core/components/iframe/iframe.ts index 1729ee70ada..d6ce9a9df49 100644 --- a/src/core/components/iframe/iframe.ts +++ b/src/core/components/iframe/iframe.ts @@ -31,13 +31,11 @@ import { toBoolean } from '@/core/transforms/boolean'; import { CoreDom } from '@singletons/dom'; import { CoreAlerts } from '@services/overlays/alerts'; import { CoreLang, CoreLangFormat } from '@services/lang'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; -import { CoreNavBarButtonsComponent } from '../navbar-buttons/navbar-buttons'; -import { NgStyle } from '@angular/common'; -import { CoreLoadingComponent } from '../loading/loading'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreLoadingComponent } from '@components/loading/loading'; +import { CoreNavBarButtonsComponent } from '@components/navbar-buttons/navbar-buttons'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; @Component({ selector: 'core-iframe', @@ -45,13 +43,11 @@ import { CoreLoadingComponent } from '../loading/loading'; styleUrl: 'iframe.scss', standalone: true, imports: [ + CoreBaseModule, CoreLoadingComponent, - NgStyle, CoreNavBarButtonsComponent, - IonicModule, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, - TranslateModule, ], }) export class CoreIframeComponent implements OnChanges, OnDestroy { diff --git a/src/core/components/infinite-loading/infinite-loading.ts b/src/core/components/infinite-loading/infinite-loading.ts index 0d69295b7c2..60cba55c7e7 100644 --- a/src/core/components/infinite-loading/infinite-loading.ts +++ b/src/core/components/infinite-loading/infinite-loading.ts @@ -14,10 +14,10 @@ import { toBoolean } from '@/core/transforms/boolean'; import { Component, Input, Output, EventEmitter, OnChanges, SimpleChange, ViewChild, ElementRef } from '@angular/core'; -import { IonInfiniteScroll, IonicModule } from '@ionic/angular'; +import { IonInfiniteScroll } from '@ionic/angular'; import { CoreWait } from '@singletons/wait'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; const THRESHOLD = .15; // % of the scroll element height that must be close to the edge to consider loading more items necessary. @@ -32,9 +32,8 @@ const THRESHOLD = .15; // % of the scroll element height that must be close to t templateUrl: 'core-infinite-loading.html', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, - TranslateModule, ], }) export class CoreInfiniteLoadingComponent implements OnChanges { diff --git a/src/core/components/input-errors/input-errors.ts b/src/core/components/input-errors/input-errors.ts index 13c3eda41d4..73174cd5d59 100644 --- a/src/core/components/input-errors/input-errors.ts +++ b/src/core/components/input-errors/input-errors.ts @@ -14,10 +14,8 @@ import { Component, ElementRef, HostBinding, Input, OnChanges, OnInit, SimpleChange } from '@angular/core'; import { FormControl } from '@angular/forms'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgIf } from '@angular/common'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; /** * Component to show errors if an input isn't valid. @@ -43,10 +41,8 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'input-errors.scss', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreFaIconDirective, - NgIf, - TranslateModule, ], }) export class CoreInputErrorsComponent implements OnInit, OnChanges { diff --git a/src/core/components/loading/loading.ts b/src/core/components/loading/loading.ts index 14ee151b552..eac48dee9ab 100644 --- a/src/core/components/loading/loading.ts +++ b/src/core/components/loading/loading.ts @@ -23,7 +23,7 @@ import { AsyncDirective } from '@classes/async-directive'; import { CorePlatform } from '@services/platform'; import { CoreWait } from '@singletons/wait'; import { toBoolean } from '@/core/transforms/boolean'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; /** * Component to show a loading spinner and message while data is being loaded. @@ -51,7 +51,7 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'loading.scss', animations: [CoreAnimations.SHOW_HIDE], standalone: true, - imports: [IonicModule], + imports: [CoreBaseModule], }) export class CoreLoadingComponent implements OnInit, OnChanges, AfterViewInit, AsyncDirective, OnDestroy { diff --git a/src/core/components/local-file/local-file.ts b/src/core/components/local-file/local-file.ts index 42153c1b74c..bbbf0b402d8 100644 --- a/src/core/components/local-file/local-file.ts +++ b/src/core/components/local-file/local-file.ts @@ -31,14 +31,12 @@ import { CoreLoadings } from '@services/overlays/loadings'; import { CoreFileUtils } from '@singletons/file-utils'; import { Translate } from '@singletons'; import { CoreAlerts } from '@services/overlays/alerts'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreSupressEventsDirective } from '../../directives/supress-events'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { CoreAutoFocusDirective } from '../../directives/auto-focus'; -import { CoreAriaButtonClickDirective } from '../../directives/aria-button'; -import { IonicModule } from '@ionic/angular'; -import { FormsModule } from '@angular/forms'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreAriaButtonClickDirective } from '@directives/aria-button'; +import { CoreAutoFocusDirective } from '@directives/auto-focus'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreSupressEventsDirective } from '@directives/supress-events'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component to handle a local file. Only files inside the app folder can be managed. @@ -52,14 +50,12 @@ import { FormsModule } from '@angular/forms'; styleUrl: 'core-local-file.scss', standalone: true, imports: [ - FormsModule, - IonicModule, + CoreBaseModule, CoreAriaButtonClickDirective, CoreAutoFocusDirective, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, CoreSupressEventsDirective, - TranslateModule, ], }) export class CoreLocalFileComponent implements OnInit { diff --git a/src/core/components/mark-required/mark-required.ts b/src/core/components/mark-required/mark-required.ts index 587508f41bb..fdb1314272a 100644 --- a/src/core/components/mark-required/mark-required.ts +++ b/src/core/components/mark-required/mark-required.ts @@ -17,8 +17,8 @@ import { Component, Input, AfterViewInit, ElementRef } from '@angular/core'; import { CoreText } from '@singletons/text'; import { Translate } from '@singletons'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; /** * Directive to add a red asterisk for required input fields. @@ -35,7 +35,10 @@ import { IonicModule } from '@ionic/angular'; templateUrl: 'core-mark-required.html', styleUrl: 'mark-required.scss', standalone: true, - imports: [IonicModule, CoreFaIconDirective], + imports: [ + CoreBaseModule, + CoreFaIconDirective, + ], }) export class CoreMarkRequiredComponent implements AfterViewInit { diff --git a/src/core/components/message/message.ts b/src/core/components/message/message.ts index c5da69647bc..d23a5427016 100644 --- a/src/core/components/message/message.ts +++ b/src/core/components/message/message.ts @@ -17,16 +17,14 @@ import { Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@an import { CoreAnimations } from '@components/animations'; import { CoreSites } from '@services/sites'; import { CoreText } from '@singletons/text'; -import { CoreUserWithAvatar } from '@components/user-avatar/user-avatar'; +import { CoreUserAvatarComponent, CoreUserWithAvatar } from '@components/user-avatar/user-avatar'; import { toBoolean } from '@/core/transforms/boolean'; -import { CoreFormatDatePipe } from '../../pipes/format-date'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; -import { CoreFormatTextDirective } from '../../directives/format-text'; -import { CoreUserAvatarComponent } from '../user-avatar/user-avatar'; -import { CoreLongPressDirective } from '../../directives/long-press'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreFormatTextDirective } from '@directives/format-text'; +import { CoreLongPressDirective } from '@directives/long-press'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; +import { CoreFormatDatePipe } from '@pipes/format-date'; /** * Component to handle a message in a conversation. @@ -38,13 +36,12 @@ import { CoreLongPressDirective } from '../../directives/long-press'; animations: [CoreAnimations.SLIDE_IN_OUT], standalone: true, imports: [ + CoreBaseModule, CoreLongPressDirective, CoreUserAvatarComponent, CoreFormatTextDirective, - IonicModule, CoreFaIconDirective, CoreUpdateNonReactiveAttributesDirective, - TranslateModule, CoreFormatDatePipe, ], }) diff --git a/src/core/components/mod-icon/mod-icon.ts b/src/core/components/mod-icon/mod-icon.ts index 0c2a42b972f..82fbf3feb0d 100644 --- a/src/core/components/mod-icon/mod-icon.ts +++ b/src/core/components/mod-icon/mod-icon.ts @@ -30,7 +30,8 @@ import { CoreCourseModuleDelegate } from '@features/course/services/module-deleg import { CoreSites } from '@services/sites'; import { CoreText } from '@singletons/text'; import { CoreUrl } from '@singletons/url'; -import { CoreExternalContentDirective } from '../../directives/external-content'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreExternalContentDirective } from '@directives/external-content'; const assetsPath = 'assets/img/'; const fallbackModName = 'external-tool'; @@ -50,7 +51,10 @@ const enum IconVersion { styleUrl: 'mod-icon.scss', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, - imports: [CoreExternalContentDirective], + imports: [ + CoreBaseModule, + CoreExternalContentDirective, + ], }) export class CoreModIconComponent implements OnInit, OnChanges { diff --git a/src/core/components/navigation-bar/navigation-bar.ts b/src/core/components/navigation-bar/navigation-bar.ts index eff2459058c..90001e211cb 100644 --- a/src/core/components/navigation-bar/navigation-bar.ts +++ b/src/core/components/navigation-bar/navigation-bar.ts @@ -15,10 +15,10 @@ import { ContextLevel } from '@/core/constants'; import { Component, EventEmitter, Input, OnChanges, Output, SimpleChange } from '@angular/core'; import { Translate } from '@singletons'; -import { CoreProgressBarComponent } from '../progress-bar/progress-bar'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreProgressBarComponent } from '@components/progress-bar/progress-bar'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component to show a "bar" with arrows to navigate forward/backward and an progressbar to see the status. @@ -35,7 +35,7 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'navigation-bar.scss', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, CoreProgressBarComponent, diff --git a/src/core/components/password-modal/password-modal.ts b/src/core/components/password-modal/password-modal.ts index ff0b5631529..b3957466c0d 100644 --- a/src/core/components/password-modal/password-modal.ts +++ b/src/core/components/password-modal/password-modal.ts @@ -18,14 +18,12 @@ import { CoreSites } from '@services/sites'; import { CoreForms } from '@singletons/form'; import { ModalController } from '@singletons'; import { CoreLoadings } from '@services/overlays/loadings'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFormatTextDirective } from '../../directives/format-text'; -import { CoreAutoFocusDirective } from '../../directives/auto-focus'; -import { FormsModule } from '@angular/forms'; -import { CoreContentDirective } from '../../directives/content'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreAutoFocusDirective } from '@directives/auto-focus'; +import { CoreContentDirective } from '@directives/content'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreFormatTextDirective } from '@directives/format-text'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Modal that asks the password. @@ -37,14 +35,12 @@ import { IonicModule } from '@ionic/angular'; templateUrl: 'password-modal.html', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, CoreContentDirective, - FormsModule, CoreAutoFocusDirective, CoreFormatTextDirective, - TranslateModule, ], }) export class CorePasswordModalComponent { diff --git a/src/core/components/progress-bar/progress-bar.ts b/src/core/components/progress-bar/progress-bar.ts index cd328300bec..f7fde28f27b 100644 --- a/src/core/components/progress-bar/progress-bar.ts +++ b/src/core/components/progress-bar/progress-bar.ts @@ -15,8 +15,7 @@ import { Component, Input, OnChanges, SimpleChange, ChangeDetectionStrategy, ElementRef } from '@angular/core'; import { SafeStyle } from '@angular/platform-browser'; import { DomSanitizer, Translate } from '@singletons'; -import { TranslateModule } from '@ngx-translate/core'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; /** * Component to show a progress bar and its value. @@ -30,7 +29,7 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'progress-bar.scss', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, - imports: [IonicModule, TranslateModule], + imports: [CoreBaseModule], }) export class CoreProgressBarComponent implements OnChanges { diff --git a/src/core/components/recaptcha/recaptcha.ts b/src/core/components/recaptcha/recaptcha.ts index 56bb8395fb2..ab2a8fc2258 100644 --- a/src/core/components/recaptcha/recaptcha.ts +++ b/src/core/components/recaptcha/recaptcha.ts @@ -19,9 +19,8 @@ import { CoreLang, CoreLangFormat } from '@services/lang'; import { CoreSites } from '@services/sites'; import { CoreOpener } from '@singletons/opener'; import { CorePath } from '@singletons/path'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component that allows answering a recaptcha. @@ -31,9 +30,8 @@ import { IonicModule } from '@ionic/angular'; templateUrl: 'core-recaptcha.html', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, - TranslateModule, ], }) export class CoreRecaptchaComponent implements OnInit { diff --git a/src/core/components/refresh-button-modal/refresh-button-modal.ts b/src/core/components/refresh-button-modal/refresh-button-modal.ts index f27d931002f..f5a498f45a9 100644 --- a/src/core/components/refresh-button-modal/refresh-button-modal.ts +++ b/src/core/components/refresh-button-modal/refresh-button-modal.ts @@ -12,8 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; +import { CoreBaseModule } from '@/core/base.module'; import { Component } from '@angular/core'; +import { CoreFaIconDirective } from '@directives/fa-icon'; import { ModalController } from '@singletons'; /** @@ -24,7 +25,8 @@ import { ModalController } from '@singletons'; styleUrl: 'refresh-button-modal.scss', standalone: true, imports: [ - CoreSharedModule, + CoreBaseModule, + CoreFaIconDirective, ], }) export class CoreRefreshButtonModalComponent { diff --git a/src/core/components/send-message-form/send-message-form.ts b/src/core/components/send-message-form/send-message-form.ts index ef5f11117cf..b02bcafdccc 100644 --- a/src/core/components/send-message-form/send-message-form.ts +++ b/src/core/components/send-message-form/send-message-form.ts @@ -21,15 +21,13 @@ import { CoreConstants } from '@/core/constants'; import { CoreForms } from '@singletons/form'; import { CorePlatform } from '@services/platform'; import { toBoolean } from '@/core/transforms/boolean'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreSupressEventsDirective } from '../../directives/supress-events'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; -import { CoreOnResizeDirective } from '../../directives/on-resize'; -import { CoreAutoFocusDirective } from '../../directives/auto-focus'; -import { CoreAutoRowsDirective } from '../../directives/auto-rows'; -import { FormsModule } from '@angular/forms'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreAutoFocusDirective } from '@directives/auto-focus'; +import { CoreAutoRowsDirective } from '@directives/auto-rows'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreOnResizeDirective } from '@directives/on-resize'; +import { CoreSupressEventsDirective } from '@directives/supress-events'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component to display a "send message form". @@ -47,15 +45,13 @@ import { FormsModule } from '@angular/forms'; styleUrl: 'send-message-form.scss', standalone: true, imports: [ - FormsModule, + CoreBaseModule, CoreAutoRowsDirective, CoreAutoFocusDirective, CoreOnResizeDirective, - IonicModule, CoreUpdateNonReactiveAttributesDirective, CoreSupressEventsDirective, CoreFaIconDirective, - TranslateModule, ], }) export class CoreSendMessageFormComponent { diff --git a/src/core/components/sheet-modal/sheet-modal.ts b/src/core/components/sheet-modal/sheet-modal.ts index 5d8a487fe76..91eb7d2de51 100644 --- a/src/core/components/sheet-modal/sheet-modal.ts +++ b/src/core/components/sheet-modal/sheet-modal.ts @@ -20,14 +20,14 @@ import { CoreModals } from '@services/overlays/modals'; import { CoreWait } from '@singletons/wait'; import { AngularFrameworkDelegate } from '@singletons'; import { CoreDirectivesRegistry } from '@singletons/directives-registry'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; @Component({ selector: 'core-sheet-modal', templateUrl: 'sheet-modal.html', styleUrl: 'sheet-modal.scss', standalone: true, - imports: [IonicModule], + imports: [CoreBaseModule], }) export class CoreSheetModalComponent implements AfterViewInit { diff --git a/src/core/components/show-password/show-password.ts b/src/core/components/show-password/show-password.ts index 1a850902458..5982e5cf3c2 100644 --- a/src/core/components/show-password/show-password.ts +++ b/src/core/components/show-password/show-password.ts @@ -13,11 +13,12 @@ // limitations under the License. import { Component, AfterViewInit, Input, ContentChild, ViewEncapsulation } from '@angular/core'; -import { IonInput, IonicModule } from '@ionic/angular'; +import { IonInput } from '@ionic/angular'; import { convertTextToHTMLElement } from '@/core/utils/create-html-element'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreLogger } from '@singletons/logger'; +import { CoreBaseModule } from '@/core/base.module'; /** * This component allows to show/hide a password. @@ -49,7 +50,7 @@ import { CoreLogger } from '@singletons/logger'; styles: 'core-show-password { display: contents; }', encapsulation: ViewEncapsulation.None, standalone: true, - imports: [IonicModule], + imports: [CoreBaseModule], }) export class CoreShowPasswordComponent implements AfterViewInit { diff --git a/src/core/components/site-logo/site-logo.ts b/src/core/components/site-logo/site-logo.ts index e38f7e9d30b..7d609b5893f 100644 --- a/src/core/components/site-logo/site-logo.ts +++ b/src/core/components/site-logo/site-logo.ts @@ -13,7 +13,6 @@ // limitations under the License. import { Component, OnInit, OnDestroy, Input } from '@angular/core'; -import { CoreSharedModule } from '@/core/shared.module'; import { CoreSites } from '@services/sites'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreSite } from '@classes/sites/site'; @@ -21,6 +20,9 @@ import { toBoolean } from '@/core/transforms/boolean'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreUnauthenticatedSite } from '@classes/sites/unauthenticated-site'; import { CoreConstants } from '@/core/constants'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreExternalContentDirective } from '@directives/external-content'; +import { CoreFormatTextDirective } from '@directives/format-text'; /** * Component to render the current site logo. @@ -30,7 +32,11 @@ import { CoreConstants } from '@/core/constants'; templateUrl: 'site-logo.html', styleUrl: 'site-logo.scss', standalone: true, - imports: [CoreSharedModule], + imports: [ + CoreBaseModule, + CoreExternalContentDirective, + CoreFormatTextDirective, + ], }) export class CoreSiteLogoComponent implements OnInit, OnDestroy { diff --git a/src/core/components/site-picker/site-picker.ts b/src/core/components/site-picker/site-picker.ts index 92cb15031b8..79dc0092fff 100644 --- a/src/core/components/site-picker/site-picker.ts +++ b/src/core/components/site-picker/site-picker.ts @@ -18,9 +18,7 @@ import { CoreFilter } from '@features/filter/services/filter'; import { CoreSiteBasicInfo, CoreSites } from '@services/sites'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { Translate } from '@singletons'; -import { TranslateModule } from '@ngx-translate/core'; -import { FormsModule } from '@angular/forms'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; /** * Component to display a site selector. It will display a select with the list of sites. If the selected site changes, @@ -33,11 +31,7 @@ import { IonicModule } from '@ionic/angular'; selector: 'core-site-picker', templateUrl: 'core-site-picker.html', standalone: true, - imports: [ - IonicModule, - FormsModule, - TranslateModule, - ], + imports: [CoreBaseModule], }) export class CoreSitePickerComponent implements OnInit { diff --git a/src/core/components/sites-list/sites-list.ts b/src/core/components/sites-list/sites-list.ts index 5ea533a3564..c20bc0e46f1 100644 --- a/src/core/components/sites-list/sites-list.ts +++ b/src/core/components/sites-list/sites-list.ts @@ -18,11 +18,10 @@ import { CoreSiteBasicInfo } from '@services/sites'; import { CoreAccountsList } from '@features/login/services/login-helper'; import { CoreSitesFactory } from '@services/sites-factory'; import { toBoolean } from '@/core/transforms/boolean'; -import { CoreUserAvatarComponent } from '../user-avatar/user-avatar'; -import { CoreLinkDirective } from '../../directives/link'; -import { CoreFormatTextDirective } from '../../directives/format-text'; -import { NgTemplateOutlet } from '@angular/common'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFormatTextDirective } from '@directives/format-text'; +import { CoreUserAvatarComponent } from '@components/user-avatar/user-avatar'; +import { CoreLinkDirective } from '@directives/link'; /** * Component to display a list of sites (accounts). @@ -47,8 +46,7 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'sites-list.scss', standalone: true, imports: [ - IonicModule, - NgTemplateOutlet, + CoreBaseModule, CoreFormatTextDirective, CoreLinkDirective, CoreUserAvatarComponent, diff --git a/src/core/components/split-view/split-view.ts b/src/core/components/split-view/split-view.ts index 533c74fe2b6..48105a0925d 100644 --- a/src/core/components/split-view/split-view.ts +++ b/src/core/components/split-view/split-view.ts @@ -14,12 +14,12 @@ import { AfterViewInit, Component, ElementRef, Input, OnDestroy, ViewChild } from '@angular/core'; import { ActivatedRouteSnapshot } from '@angular/router'; -import { IonContent, IonRouterOutlet, IonicModule } from '@ionic/angular'; +import { IonContent, IonRouterOutlet } from '@ionic/angular'; import { CoreScreen } from '@services/screen'; import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { TranslateModule } from '@ngx-translate/core'; +import { CoreBaseModule } from '@/core/base.module'; import { CoreEmptyBoxComponent } from '../empty-box/empty-box'; -import { CoreContentDirective } from '../../directives/content'; +import { CoreContentDirective } from '@directives/content'; export enum CoreSplitViewMode { MENU_ONLY = 'menu-only', // Hides content. @@ -35,10 +35,9 @@ const disabledScrollClass = 'disable-scroll-y'; styleUrl: 'split-view.scss', standalone: true, imports: [ - IonicModule, - CoreContentDirective, + CoreBaseModule, CoreEmptyBoxComponent, - TranslateModule, + CoreContentDirective, ], }) export class CoreSplitViewComponent implements AfterViewInit, OnDestroy { diff --git a/src/core/components/style/style.ts b/src/core/components/style/style.ts index b49ab3cea75..43abdef076e 100644 --- a/src/core/components/style/style.ts +++ b/src/core/components/style/style.ts @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { CoreSharedModule } from '@/core/shared.module'; import { Component, ElementRef, Input, OnChanges } from '@angular/core'; import { CoreDom } from '@singletons/dom'; @@ -31,9 +30,7 @@ import { CoreDom } from '@singletons/dom'; selector: 'core-style', template: '', standalone: true, - imports: [ - CoreSharedModule, - ], + imports: [], }) export class CoreStyleComponent implements OnChanges { diff --git a/src/core/components/swipe-navigation-tour/swipe-navigation-tour.ts b/src/core/components/swipe-navigation-tour/swipe-navigation-tour.ts index e66d56ead0c..9b157d05bda 100644 --- a/src/core/components/swipe-navigation-tour/swipe-navigation-tour.ts +++ b/src/core/components/swipe-navigation-tour/swipe-navigation-tour.ts @@ -14,10 +14,9 @@ import { Component } from '@angular/core'; import { CoreUserTours } from '@features/usertours/services/user-tours'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * Component showing the User Tour for the Swipe Navigation feature. @@ -28,10 +27,9 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'swipe-navigation-tour.scss', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreFaIconDirective, CoreUpdateNonReactiveAttributesDirective, - TranslateModule, ], }) export class CoreSwipeNavigationTourComponent { diff --git a/src/core/components/swipe-slides/swipe-slides.ts b/src/core/components/swipe-slides/swipe-slides.ts index d7e8bc5b56c..daeb9cbb4fc 100644 --- a/src/core/components/swipe-slides/swipe-slides.ts +++ b/src/core/components/swipe-slides/swipe-slides.ts @@ -39,7 +39,8 @@ import { CoreMath } from '@singletons/math'; import { CoreSwiper } from '@singletons/swiper'; import { Swiper } from 'swiper'; import { SwiperOptions } from 'swiper/types'; -import { NgTemplateOutlet } from '@angular/common'; +import { CoreBaseModule } from '@/core/base.module'; + /** * Helper component to display swipable slides. */ @@ -48,7 +49,7 @@ import { NgTemplateOutlet } from '@angular/common'; templateUrl: 'swipe-slides.html', styleUrl: 'swipe-slides.scss', standalone: true, - imports: [NgTemplateOutlet], + imports: [CoreBaseModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class CoreSwipeSlidesComponent implements OnChanges, OnDestroy, AsyncDirective { diff --git a/src/core/components/tabs-outlet/tabs-outlet.ts b/src/core/components/tabs-outlet/tabs-outlet.ts index 00c222a4c82..125db09e81c 100644 --- a/src/core/components/tabs-outlet/tabs-outlet.ts +++ b/src/core/components/tabs-outlet/tabs-outlet.ts @@ -22,7 +22,7 @@ import { SimpleChange, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core'; -import { IonRouterOutlet, IonTabs, ViewDidEnter, ViewDidLeave, IonicModule } from '@ionic/angular'; +import { IonRouterOutlet, IonTabs, ViewDidEnter, ViewDidLeave } from '@ionic/angular'; import { CoreUtils } from '@singletons/utils'; import { Params } from '@angular/router'; @@ -32,9 +32,9 @@ import { CoreNavigator } from '@services/navigator'; import { CoreTabBase, CoreTabsBaseComponent } from '@classes/tabs'; import { CoreDirectivesRegistry } from '@singletons/directives-registry'; import { CorePath } from '@singletons/path'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * This component displays some top scrollable tabs that will autohide on vertical scroll. @@ -56,10 +56,9 @@ import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/updat styleUrl: '../tabs/tabs.scss', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, - TranslateModule, ], schemas: [CUSTOM_ELEMENTS_SCHEMA], }) diff --git a/src/core/components/tabs/tab.ts b/src/core/components/tabs/tab.ts index bfc674a96d8..2b5772ab9fb 100644 --- a/src/core/components/tabs/tab.ts +++ b/src/core/components/tabs/tab.ts @@ -19,7 +19,7 @@ import { CoreUtils } from '@singletons/utils'; import { CoreDirectivesRegistry } from '@singletons/directives-registry'; import { CoreNavBarButtonsComponent } from '../navbar-buttons/navbar-buttons'; import { CoreTabsComponent } from './tabs'; -import { NgTemplateOutlet } from '@angular/common'; +import { CoreBaseModule } from '@/core/base.module'; /** * A tab to use inside core-tabs. The content of this tab will be displayed when the tab is selected. @@ -44,7 +44,7 @@ import { NgTemplateOutlet } from '@angular/common'; selector: 'core-tab', template: '@if (loaded && template) {}', standalone: true, - imports: [NgTemplateOutlet], + imports: [CoreBaseModule], }) export class CoreTabComponent implements OnInit, OnDestroy, CoreTabBase { diff --git a/src/core/components/tabs/tabs.ts b/src/core/components/tabs/tabs.ts index 0a3aaac008a..3ceae37fee0 100644 --- a/src/core/components/tabs/tabs.ts +++ b/src/core/components/tabs/tabs.ts @@ -24,10 +24,9 @@ import { import { CoreTabsBaseComponent } from '@classes/tabs'; import { CoreTabComponent } from './tab'; import { toBoolean } from '@/core/transforms/boolean'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreFaIconDirective } from '../../directives/fa-icon'; -import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreFaIconDirective } from '@directives/fa-icon'; +import { CoreUpdateNonReactiveAttributesDirective } from '@directives/update-non-reactive-attributes'; /** * This component displays some top scrollable tabs that will autohide on vertical scroll. @@ -49,10 +48,9 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'tabs.scss', standalone: true, imports: [ - IonicModule, + CoreBaseModule, CoreUpdateNonReactiveAttributesDirective, CoreFaIconDirective, - TranslateModule, ], schemas: [CUSTOM_ELEMENTS_SCHEMA], }) diff --git a/src/core/components/timer/timer.ts b/src/core/components/timer/timer.ts index 50833055e2a..3664321ef10 100644 --- a/src/core/components/timer/timer.ts +++ b/src/core/components/timer/timer.ts @@ -17,10 +17,8 @@ import { Component, Input, Output, EventEmitter, OnInit, OnDestroy, ElementRef } import { CoreUser } from '@features/user/services/user'; import { CoreTimeUtils } from '@services/utils/time'; -import { CoreSecondsToHMSPipe } from '../../pipes/seconds-to-hms'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgTemplateOutlet } from '@angular/common'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreSecondsToHMSPipe } from '@pipes/seconds-to-hms'; /** * This directive shows a timer in format HH:MM:SS. When the countdown reaches 0, a function is called. @@ -34,9 +32,7 @@ import { IonicModule } from '@ionic/angular'; styleUrl: 'timer.scss', standalone: true, imports: [ - IonicModule, - NgTemplateOutlet, - TranslateModule, + CoreBaseModule, CoreSecondsToHMSPipe, ], }) diff --git a/src/core/components/user-avatar/user-avatar.ts b/src/core/components/user-avatar/user-avatar.ts index b39d2a8113e..987d06b01d9 100644 --- a/src/core/components/user-avatar/user-avatar.ts +++ b/src/core/components/user-avatar/user-avatar.ts @@ -24,9 +24,9 @@ import { CoreUserHelper } from '@features/user/services/user-helper'; import { CoreUrl } from '@singletons/url'; import { CoreSiteInfo } from '@classes/sites/unauthenticated-site'; import { toBoolean } from '@/core/transforms/boolean'; -import { TranslateModule } from '@ngx-translate/core'; -import { CoreAriaButtonClickDirective } from '../../directives/aria-button'; -import { CoreExternalContentDirective } from '../../directives/external-content'; +import { CoreBaseModule } from '@/core/base.module'; +import { CoreExternalContentDirective } from '@directives/external-content'; +import { CoreAriaButtonClickDirective } from '@directives/aria-button'; /** * Component to display a "user avatar". @@ -39,9 +39,9 @@ import { CoreExternalContentDirective } from '../../directives/external-content' styleUrl: 'user-avatar.scss', standalone: true, imports: [ + CoreBaseModule, CoreExternalContentDirective, CoreAriaButtonClickDirective, - TranslateModule, ], }) export class CoreUserAvatarComponent implements OnInit, OnChanges, OnDestroy { diff --git a/src/core/shared.module.ts b/src/core/shared.module.ts index d317897e61c..0e30c93b3f0 100644 --- a/src/core/shared.module.ts +++ b/src/core/shared.module.ts @@ -16,24 +16,14 @@ import { NgModule } from '@angular/core'; import { CoreComponentsModule } from '@components/components.module'; import { CoreDirectivesModule } from '@directives/directives.module'; import { CorePipesModule } from '@pipes/pipes.module'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { TranslateModule } from '@ngx-translate/core'; -import { CommonModule } from '@angular/common'; -import { IonicModule } from '@ionic/angular'; +import { CoreBaseModule } from './base.module'; @NgModule({ - imports: [ - TranslateModule.forChild(), - ], exports: [ - CommonModule, + CoreBaseModule, CoreComponentsModule, CoreDirectivesModule, CorePipesModule, - FormsModule, - IonicModule, - ReactiveFormsModule, - TranslateModule, ], }) export class CoreSharedModule {}