forked from EVOgeek/Vmeda.Online
		
	
						commit
						f7248f4203
					
				| @ -17,7 +17,7 @@ import { CoreBlockHandlerData } from '@features/block/services/block-delegate'; | ||||
| import { CoreBlockOnlyTitleComponent } from '@features/block/components/only-title-block/only-title-block'; | ||||
| import { CoreBlockBaseHandler } from '@features/block/classes/base-block-handler'; | ||||
| import { makeSingleton } from '@singletons'; | ||||
| import { FORUM_SEARCH_PAGE_NAME } from '@addons/mod/forum/forum.module'; | ||||
| import { ADDON_MOD_FORUM_SEARCH_PAGE_NAME } from '@addons/mod/forum/constants'; | ||||
| import { CoreCourseBlock } from '@features/course/services/course'; | ||||
| import { CoreSearchGlobalSearch } from '@features/search/services/global-search'; | ||||
| 
 | ||||
| @ -60,7 +60,7 @@ export class AddonBlockSearchForumsHandlerService extends CoreBlockBaseHandler { | ||||
|             title: 'addon.block_searchforums.pluginname', | ||||
|             class: 'addon-block-search-forums', | ||||
|             component: CoreBlockOnlyTitleComponent, | ||||
|             link: FORUM_SEARCH_PAGE_NAME, | ||||
|             link: ADDON_MOD_FORUM_SEARCH_PAGE_NAME, | ||||
|             linkParams: { courseId: instanceId }, | ||||
|         }; | ||||
|     } | ||||
|  | ||||
| @ -13,7 +13,7 @@ | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { ROUTES, Routes } from '@angular/router'; | ||||
| 
 | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| import { AddonBlogEntriesPage } from './pages/entries/entries'; | ||||
| @ -21,7 +21,7 @@ import { CoreCommentsComponentsModule } from '@features/comments/components/comp | ||||
| 
 | ||||
| import { CoreTagComponentsModule } from '@features/tag/components/components.module'; | ||||
| import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { AddonBlogMainMenuHandlerService } from './services/handlers/mainmenu'; | ||||
| import { ADDON_BLOG_MAINMENU_PAGE_NAME } from './constants'; | ||||
| import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; | ||||
| 
 | ||||
| /** | ||||
| @ -34,7 +34,7 @@ function buildRoutes(injector: Injector): Routes { | ||||
|     return [ | ||||
|         ...buildTabMainRoutes(injector, { | ||||
|             data: { | ||||
|                 mainMenuTabRoot: AddonBlogMainMenuHandlerService.PAGE_NAME, | ||||
|                 mainMenuTabRoot: ADDON_BLOG_MAINMENU_PAGE_NAME, | ||||
|             }, | ||||
|             component: AddonBlogEntriesPage, | ||||
|         }), | ||||
| @ -48,7 +48,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|         CoreTagComponentsModule, | ||||
|         CoreMainMenuComponentsModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: ROUTES, | ||||
|  | ||||
| @ -24,13 +24,14 @@ import { CoreTagAreaDelegate } from '@features/tag/services/tag-area-delegate'; | ||||
| import { CoreUserDelegate } from '@features/user/services/user-delegate'; | ||||
| import { AddonBlogCourseOptionHandler } from './services/handlers/course-option'; | ||||
| import { AddonBlogIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonBlogMainMenuHandler, AddonBlogMainMenuHandlerService } from './services/handlers/mainmenu'; | ||||
| import { AddonBlogMainMenuHandler } from './services/handlers/mainmenu'; | ||||
| import { AddonBlogTagAreaHandler } from './services/handlers/tag-area'; | ||||
| import { AddonBlogUserHandler } from './services/handlers/user'; | ||||
| import { ADDON_BLOG_MAINMENU_PAGE_NAME } from './constants'; | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonBlogMainMenuHandlerService.PAGE_NAME, | ||||
|         path: ADDON_BLOG_MAINMENU_PAGE_NAME, | ||||
|         loadChildren: () => import('@addons/blog/blog-lazy.module').then(m => m.AddonBlogLazyModule), | ||||
|     }, | ||||
| ]; | ||||
| @ -41,7 +42,6 @@ const routes: Routes = [ | ||||
|         CoreMainMenuRoutingModule.forChild({ children: routes }), | ||||
|         CoreCourseIndexRoutingModule.forChild({ children: routes }), | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
							
								
								
									
										15
									
								
								src/addons/blog/constants.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/addons/blog/constants.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| // (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.
 | ||||
| 
 | ||||
| export const ADDON_BLOG_MAINMENU_PAGE_NAME = 'blog'; | ||||
| @ -26,7 +26,7 @@ import { CoreSites } from '@services/sites'; | ||||
| import { CoreWSFile } from '@services/ws'; | ||||
| import { makeSingleton } from '@singletons'; | ||||
| import { AddonBlog } from '../blog'; | ||||
| import { AddonBlogMainMenuHandlerService } from './mainmenu'; | ||||
| import { ADDON_BLOG_MAINMENU_PAGE_NAME } from '@addons/blog/constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Course nav handler. | ||||
| @ -75,7 +75,7 @@ export class AddonBlogCourseOptionHandlerService implements CoreCourseOptionsHan | ||||
|         return { | ||||
|             title: 'addon.blog.blog', | ||||
|             class: 'addon-blog-handler', | ||||
|             page: AddonBlogMainMenuHandlerService.PAGE_NAME, | ||||
|             page: ADDON_BLOG_MAINMENU_PAGE_NAME, | ||||
|         }; | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -16,6 +16,7 @@ import { Injectable } from '@angular/core'; | ||||
| import { CoreMainMenuHandler, CoreMainMenuHandlerData } from '@features/mainmenu/services/mainmenu-delegate'; | ||||
| import { makeSingleton } from '@singletons'; | ||||
| import { AddonBlog } from '../blog'; | ||||
| import { ADDON_BLOG_MAINMENU_PAGE_NAME } from '@addons/blog/constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Handler to inject an option into main menu. | ||||
| @ -23,8 +24,6 @@ import { AddonBlog } from '../blog'; | ||||
| @Injectable({ providedIn: 'root' }) | ||||
| export class AddonBlogMainMenuHandlerService implements CoreMainMenuHandler { | ||||
| 
 | ||||
|     static readonly PAGE_NAME = 'blog'; | ||||
| 
 | ||||
|     name = 'AddonBlog'; | ||||
|     priority = 500; | ||||
| 
 | ||||
| @ -42,7 +41,7 @@ export class AddonBlogMainMenuHandlerService implements CoreMainMenuHandler { | ||||
|         return { | ||||
|             icon: 'far-newspaper', | ||||
|             title: 'addon.blog.siteblogheading', | ||||
|             page: AddonBlogMainMenuHandlerService.PAGE_NAME, | ||||
|             page: ADDON_BLOG_MAINMENU_PAGE_NAME, | ||||
|             class: 'addon-blog-handler', | ||||
|         }; | ||||
|     } | ||||
|  | ||||
| @ -20,7 +20,7 @@ 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 { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { ROUTES, Routes } from '@angular/router'; | ||||
| import { CoreEditorComponentsModule } from '@features/editor/components/components.module'; | ||||
| import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; | ||||
| 
 | ||||
| @ -70,7 +70,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|         CoreMainMenuComponentsModule, | ||||
|         CoreEditorComponentsModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     declarations: [ | ||||
|         AddonCalendarDayPage, | ||||
|         AddonCalendarEditEventPage, | ||||
|  | ||||
| @ -62,7 +62,6 @@ const mainMenuChildrenRoutes: Routes = [ | ||||
|         CoreMainMenuRoutingModule.forChild({ children: mainMenuChildrenRoutes }), | ||||
|         AddonCalendarComponentsModule, | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: CORE_SITE_SCHEMAS, | ||||
|  | ||||
							
								
								
									
										15
									
								
								src/addons/calendar/constants.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/addons/calendar/constants.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| // (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.
 | ||||
| 
 | ||||
| export const ADDON_CALENDAR_COMPONENT = 'AddonCalendarEvents'; | ||||
| @ -45,6 +45,7 @@ import { CoreForms } from '@singletons/form'; | ||||
| import { CoreReminders, CoreRemindersService, CoreRemindersUnits } from '@features/reminders/services/reminders'; | ||||
| import { CoreRemindersSetReminderMenuComponent } from '@features/reminders/components/set-reminder-menu/set-reminder-menu'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { ADDON_CALENDAR_COMPONENT } from '@addons/calendar/constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Page that displays a form to create/edit an event. | ||||
| @ -60,7 +61,7 @@ export class AddonCalendarEditEventPage implements OnInit, OnDestroy, CanLeave { | ||||
|     @ViewChild('editEventForm') formElement!: ElementRef; | ||||
| 
 | ||||
|     title = 'addon.calendar.newevent'; | ||||
|     component = AddonCalendarProvider.COMPONENT; | ||||
|     component = ADDON_CALENDAR_COMPONENT; | ||||
|     loaded = false; | ||||
|     hasOffline = false; | ||||
|     eventTypes: AddonCalendarEventTypeOption[] = []; | ||||
| @ -179,7 +180,7 @@ export class AddonCalendarEditEventPage implements OnInit, OnDestroy, CanLeave { | ||||
|                 promises.push(AddonCalendarSync.waitForSync(AddonCalendarSyncProvider.SYNC_ID).then(async () => { | ||||
|                     // Do not block if the scope is already destroyed.
 | ||||
|                     if (!this.isDestroyed && this.eventId) { | ||||
|                         CoreSync.blockOperation(AddonCalendarProvider.COMPONENT, eventId); | ||||
|                         CoreSync.blockOperation(ADDON_CALENDAR_COMPONENT, eventId); | ||||
|                     } | ||||
| 
 | ||||
|                     let eventForm: AddonCalendarEvent | AddonCalendarOfflineEventDBRecord | undefined; | ||||
| @ -597,7 +598,7 @@ export class AddonCalendarEditEventPage implements OnInit, OnDestroy, CanLeave { | ||||
|      */ | ||||
|     protected unblockSync(): void { | ||||
|         if (this.eventId) { | ||||
|             CoreSync.unblockOperation(AddonCalendarProvider.COMPONENT, this.eventId); | ||||
|             CoreSync.unblockOperation(ADDON_CALENDAR_COMPONENT, this.eventId); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -38,6 +38,7 @@ import { CoreCategoryData } from '@features/courses/services/courses'; | ||||
| import { CoreTimeUtils } from '@services/utils/time'; | ||||
| import { CoreReminders, CoreRemindersService } from '@features/reminders/services/reminders'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { ADDON_CALENDAR_COMPONENT } from '../constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Context levels enumeration. | ||||
| @ -330,7 +331,7 @@ export class AddonCalendarHelperProvider { | ||||
|         const reminders = await CoreReminders.getReminders( | ||||
|             { | ||||
|                 instanceId: eventId, | ||||
|                 component: AddonCalendarProvider.COMPONENT, | ||||
|                 component: ADDON_CALENDAR_COMPONENT, | ||||
|             }, | ||||
|             siteId, | ||||
|         ); | ||||
|  | ||||
| @ -21,7 +21,6 @@ import { CoreUtils } from '@services/utils/utils'; | ||||
| import { | ||||
|     AddonCalendar, | ||||
|     AddonCalendarEvent, | ||||
|     AddonCalendarProvider, | ||||
|     AddonCalendarSubmitCreateUpdateFormDataWSParams, | ||||
| } from './calendar'; | ||||
| import { AddonCalendarOffline } from './calendar-offline'; | ||||
| @ -30,6 +29,7 @@ import { makeSingleton, Translate } from '@singletons'; | ||||
| import { CoreSync, CoreSyncResult } from '@services/sync'; | ||||
| import { CoreNetworkError } from '@classes/errors/network-error'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { ADDON_CALENDAR_COMPONENT } from '../constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Service to sync calendar. | ||||
| @ -173,7 +173,7 @@ export class AddonCalendarSyncProvider extends CoreSyncBaseProvider<AddonCalenda | ||||
|     protected async syncOfflineEvent(eventId: number, result: AddonCalendarSyncEvents, siteId?: string): Promise<void> { | ||||
| 
 | ||||
|         // Verify that event isn't blocked.
 | ||||
|         if (CoreSync.isBlocked(AddonCalendarProvider.COMPONENT, eventId, siteId)) { | ||||
|         if (CoreSync.isBlocked(ADDON_CALENDAR_COMPONENT, eventId, siteId)) { | ||||
|             this.logger.debug('Cannot sync event ' + eventId + ' because it is blocked.'); | ||||
| 
 | ||||
|             throw new CoreSyncBlockedError(Translate.instant( | ||||
|  | ||||
| @ -51,6 +51,7 @@ import { | ||||
| import { CoreReminderDBRecord } from '@features/reminders/services/database/reminders'; | ||||
| import { CoreEvents } from '@singletons/events'; | ||||
| import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site'; | ||||
| import { ADDON_CALENDAR_COMPONENT } from '../constants'; | ||||
| 
 | ||||
| const ROOT_CACHE_KEY = 'mmaCalendar:'; | ||||
| 
 | ||||
| @ -103,7 +104,6 @@ declare module '@singletons/events' { | ||||
| export class AddonCalendarProvider { | ||||
| 
 | ||||
|     static readonly DAYS_INTERVAL = 30; | ||||
|     static readonly COMPONENT = 'AddonCalendarEvents'; | ||||
| 
 | ||||
|     static readonly STARTING_WEEK_DAY = 'addon_calendar_starting_week_day'; | ||||
|     static readonly NEW_EVENT_EVENT = 'addon_calendar_new_event'; | ||||
| @ -279,7 +279,7 @@ export class AddonCalendarProvider { | ||||
|         )); | ||||
|         promises.push(CoreReminders.removeReminders({ | ||||
|             instanceId: eventId, | ||||
|             component: AddonCalendarProvider.COMPONENT, | ||||
|             component: ADDON_CALENDAR_COMPONENT, | ||||
|         } , siteId)); | ||||
| 
 | ||||
|         await CoreUtils.ignoreErrors(Promise.all(promises)); | ||||
| @ -292,7 +292,7 @@ export class AddonCalendarProvider { | ||||
|      */ | ||||
|     async initialize(): Promise<void> { | ||||
|         CoreLocalNotifications.registerClick<CoreRemindersPushNotificationData>( | ||||
|             AddonCalendarProvider.COMPONENT, | ||||
|             ADDON_CALENDAR_COMPONENT, | ||||
|             async (notification) => { | ||||
|                 await ApplicationInit.donePromise; | ||||
| 
 | ||||
| @ -740,7 +740,7 @@ export class AddonCalendarProvider { | ||||
| 
 | ||||
|         const previousReminders = await CoreReminders.getReminders({ | ||||
|             instanceId: event.id, | ||||
|             component: AddonCalendarProvider.COMPONENT, | ||||
|             component: ADDON_CALENDAR_COMPONENT, | ||||
|         }, siteId); | ||||
| 
 | ||||
|         if (previousReminders.some((reminder) => reminder.timebefore === timebefore)) { | ||||
| @ -753,7 +753,7 @@ export class AddonCalendarProvider { | ||||
|             : ''; | ||||
| 
 | ||||
|         const reminder: CoreReminderData = { | ||||
|             component: AddonCalendarProvider.COMPONENT, | ||||
|             component: ADDON_CALENDAR_COMPONENT, | ||||
|             instanceId: event.id, | ||||
|             type: event.eventtype, | ||||
|             time: event.timestart, | ||||
| @ -887,7 +887,7 @@ export class AddonCalendarProvider { | ||||
|     async getEventReminders(eventId: number, siteId?: string): Promise<CoreReminderDBRecord[]> { | ||||
|         return CoreReminders.getReminders({ | ||||
|             instanceId: eventId, | ||||
|             component: AddonCalendarProvider.COMPONENT, | ||||
|             component: ADDON_CALENDAR_COMPONENT, | ||||
|         }, siteId); | ||||
|     } | ||||
| 
 | ||||
| @ -1448,12 +1448,12 @@ export class AddonCalendarProvider { | ||||
|                 // The event has already started, don't schedule it.
 | ||||
| 
 | ||||
|                 // @TODO Decide when to completelly remove expired events.
 | ||||
|                 return CoreReminders.cancelReminder(event.id, AddonCalendarProvider.COMPONENT, siteId); | ||||
|                 return CoreReminders.cancelReminder(event.id, ADDON_CALENDAR_COMPONENT, siteId); | ||||
|             } | ||||
| 
 | ||||
|             const reminders = await CoreReminders.getReminders({ | ||||
|                 instanceId: event.id, | ||||
|                 component: AddonCalendarProvider.COMPONENT, | ||||
|                 component: ADDON_CALENDAR_COMPONENT, | ||||
|             }, siteId); | ||||
| 
 | ||||
|             await Promise.all(reminders.map(async (reminder) => { | ||||
| @ -1572,7 +1572,7 @@ export class AddonCalendarProvider { | ||||
| 
 | ||||
|         const reminders = await CoreReminders.getReminders({ | ||||
|             instanceId: event.id, | ||||
|             component: AddonCalendarProvider.COMPONENT, | ||||
|             component: ADDON_CALENDAR_COMPONENT, | ||||
|         }, siteId); | ||||
| 
 | ||||
|         if (reminders.length > 0) { | ||||
| @ -1725,7 +1725,7 @@ export class AddonCalendarProvider { | ||||
|                     { instanceId: result.event.id }, | ||||
|                     { | ||||
|                         instanceId: eventId, | ||||
|                         component: AddonCalendarProvider.COMPONENT, | ||||
|                         component: ADDON_CALENDAR_COMPONENT, | ||||
|                     }, | ||||
|                     siteId, | ||||
|                 ), | ||||
|  | ||||
| @ -25,7 +25,6 @@ import { AddonCompetencyPushClickHandler } from './services/handlers/push-click' | ||||
| import { AddonCompetencyUserCompetencyLinkHandler } from './services/handlers/user-competency-link'; | ||||
| import { AddonCompetencyUserHandler } from './services/handlers/user'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreMainMenuRoutingModule } from '@features/mainmenu/mainmenu-routing.module'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CoreCourseIndexRoutingModule } from '@features/course/course-routing.module'; | ||||
| import { COURSE_PAGE_NAME } from '@features/course/course.module'; | ||||
| @ -77,7 +76,6 @@ const courseIndexRoutes: Routes = [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(mainMenuChildrenRoutes), | ||||
|         CoreCourseIndexRoutingModule.forChild({ children: courseIndexRoutes }), | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -33,7 +33,6 @@ const routes: Routes = [ | ||||
|         CoreCommentsComponentsModule, | ||||
|         CoreTagComponentsModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     declarations: [ | ||||
|         AddonCourseCompletionReportPage, | ||||
|     ], | ||||
|  | ||||
| @ -22,7 +22,7 @@ import { AddonMessagesGroupConversationsPage } from '@addons/messages/pages/grou | ||||
| import { AddonMessagesSearchPage } from '@addons/messages/pages/search/search'; | ||||
| import { AddonMessagesMainMenuHandlerService } from '@addons/messages/services/handlers/mainmenu'; | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { Route, RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { Route, ROUTES, Routes } from '@angular/router'; | ||||
| import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; | ||||
| 
 | ||||
| import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| @ -139,7 +139,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|         AddonMessagesGroupConversationsPage, | ||||
|         AddonMessagesSearchPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: ROUTES, | ||||
|  | ||||
| @ -33,6 +33,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         AddonMessagesSettingsPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class AddonMessagesSettingsLazyModule {} | ||||
|  | ||||
| @ -22,7 +22,6 @@ import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-ro | ||||
| import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate'; | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { AddonModAssignComponentsModule } from './components/components.module'; | ||||
| import { AddonModAssignFeedbackModule } from './feedback/feedback.module'; | ||||
| import { AddonModAssignProvider } from './services/assign'; | ||||
| import { OFFLINE_SITE_SCHEMA } from './services/database/assign'; | ||||
| @ -57,6 +56,17 @@ export async function getModAssignServices(): Promise<Type<unknown>[]> { | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Get assign component modules. | ||||
|  * | ||||
|  * @returns Assign component modules. | ||||
|  */ | ||||
| export async function getModAssignComponentModules(): Promise<unknown[]> { | ||||
|     const { AddonModAssignComponentsModule } = await import('@addons/mod/assign/components/components.module'); | ||||
| 
 | ||||
|     return [AddonModAssignComponentsModule]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModAssignModuleHandlerService.PAGE_NAME, | ||||
| @ -67,7 +77,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModAssignComponentsModule, | ||||
|         AddonModAssignSubmissionModule, | ||||
|         AddonModAssignFeedbackModule, | ||||
|     ], | ||||
|  | ||||
| @ -12,29 +12,15 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { AddonModBBBComponentsModule } from './components/components.module'; | ||||
| import { AddonModBBBIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModBBBListLinkHandler } from './services/handlers/list-link'; | ||||
| import { AddonModBBBModuleHandler, ADDON_MOD_BBB_MAIN_MENU_PAGE_NAME } from './services/handlers/module'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod BBB services. | ||||
|  * | ||||
|  * @returns Returns mod BBB services. | ||||
|  */ | ||||
| export async function getModBBBServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModBBBService } = await import('@addons/mod/bigbluebuttonbn/services/bigbluebuttonbn'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModBBBService, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: ADDON_MOD_BBB_MAIN_MENU_PAGE_NAME, | ||||
| @ -45,7 +31,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModBBBComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,14 +12,13 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CoreTagAreaDelegate } from '@features/tag/services/tag-area-delegate'; | ||||
| import { AddonModBookComponentsModule } from './components/components.module'; | ||||
| import { AddonModBookModuleHandler, AddonModBookModuleHandlerService } from './services/handlers/module'; | ||||
| import { AddonModBookIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModBookListLinkHandler } from './services/handlers/list-link'; | ||||
| @ -28,19 +27,6 @@ import { AddonModBookTagAreaHandler } from './services/handlers/tag-area'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { BOOK_SITE_SCHEMA } from './services/database/book'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod book services. | ||||
|  * | ||||
|  * @returns Returns mod book services. | ||||
|  */ | ||||
| export async function getModBookServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModBookProvider } = await import('@addons/mod/book/services/book'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModBookProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModBookModuleHandlerService.PAGE_NAME, | ||||
| @ -51,7 +37,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModBookComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseHelper } from '@features/course/services/course-helper'; | ||||
| @ -25,32 +25,6 @@ import { AddonModChatModuleHandler } from './services/handlers/module'; | ||||
| import { getPrefetchHandlerInstance } from './services/handlers/prefetch'; | ||||
| import { ADDON_MOD_CHAT_COMPONENT, ADDON_MOD_CHAT_PAGE_NAME } from './constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod chat services. | ||||
|  * | ||||
|  * @returns Returns mod chat services. | ||||
|  */ | ||||
| export async function getModChatServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModChatProvider } = await import('@addons/mod/chat/services/chat'); | ||||
|     const { AddonModChatHelperProvider } = await import('@addons/mod/chat/services/chat-helper'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModChatProvider, | ||||
|         AddonModChatHelperProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Get mod chat component modules. | ||||
|  * | ||||
|  * @returns Chat component modules. | ||||
|  */ | ||||
| export async function getModChatComponentModules(): Promise<unknown[]> { | ||||
|     const { AddonModChatComponentsModule } = await import('@addons/mod/chat/components/components.module'); | ||||
| 
 | ||||
|     return [AddonModChatComponentsModule]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: ADDON_MOD_CHAT_PAGE_NAME, | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| 
 | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| @ -22,7 +22,6 @@ import { CoreCourseModulePrefetchDelegate } from '@features/course/services/modu | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { AddonModChoiceComponentsModule } from './components/components.module'; | ||||
| import { AddonModChoiceProvider } from './services/choice'; | ||||
| import { OFFLINE_SITE_SCHEMA } from './services/database/choice'; | ||||
| import { AddonModChoiceIndexLinkHandler } from './services/handlers/index-link'; | ||||
| @ -31,23 +30,6 @@ import { AddonModChoiceModuleHandler, AddonModChoiceModuleHandlerService } from | ||||
| import { AddonModChoicePrefetchHandler } from './services/handlers/prefetch'; | ||||
| import { AddonModChoiceSyncCronHandler } from './services/handlers/sync-cron'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod choice services. | ||||
|  * | ||||
|  * @returns Returns mod choice services. | ||||
|  */ | ||||
| export async function getModChoiceServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModChoiceProvider } = await import('@addons/mod/choice/services/choice'); | ||||
|     const { AddonModChoiceOfflineProvider } = await import('@addons/mod/choice/services/choice-offline'); | ||||
|     const { AddonModChoiceSyncProvider } = await import('@addons/mod/choice/services/choice-sync'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModChoiceProvider, | ||||
|         AddonModChoiceOfflineProvider, | ||||
|         AddonModChoiceSyncProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModChoiceModuleHandlerService.PAGE_NAME, | ||||
| @ -58,7 +40,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModChoiceComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| @ -34,30 +34,8 @@ import { AddonModDataShowLinkHandler } from './services/handlers/show-link'; | ||||
| import { AddonModDataSyncCronHandler } from './services/handlers/sync-cron'; | ||||
| import { AddonModDataTagAreaHandler } from './services/handlers/tag-area'; | ||||
| import { AddonModDataFieldModule } from './fields/field.module'; | ||||
| import { AddonModDataComponentsModule } from './components/components.module'; | ||||
| import { CoreCourseHelper } from '@features/course/services/course-helper'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod data services. | ||||
|  * | ||||
|  * @returns Returns mod data services. | ||||
|  */ | ||||
| export async function getModDataServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModDataProvider } = await import('@addons/mod/data/services/data'); | ||||
|     const { AddonModDataOfflineProvider } = await import('@addons/mod/data/services/data-offline'); | ||||
|     const { AddonModDataSyncProvider } = await import('@addons/mod/data/services/data-sync'); | ||||
|     const { AddonModDataHelperProvider } = await import('@addons/mod/data/services/data-helper'); | ||||
|     const { AddonModDataFieldsDelegateService } = await import('@addons/mod/data/services/data-fields-delegate'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModDataProvider, | ||||
|         AddonModDataHelperProvider, | ||||
|         AddonModDataSyncProvider, | ||||
|         AddonModDataOfflineProvider, | ||||
|         AddonModDataFieldsDelegateService, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModDataModuleHandlerService.PAGE_NAME, | ||||
| @ -69,7 +47,6 @@ const routes: Routes = [ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModDataFieldModule, | ||||
|         AddonModDataComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseHelper } from '@features/course/services/course-helper'; | ||||
| @ -22,7 +22,6 @@ import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-ro | ||||
| import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate'; | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { AddonModFeedbackComponentsModule } from './components/components.module'; | ||||
| import { OFFLINE_SITE_SCHEMA } from './services/database/feedback'; | ||||
| import { AddonModFeedbackProvider } from './services/feedback'; | ||||
| import { AddonModFeedbackAnalysisLinkHandler } from './services/handlers/analysis-link'; | ||||
| @ -37,25 +36,6 @@ import { AddonModFeedbackShowEntriesLinkHandler } from './services/handlers/show | ||||
| import { AddonModFeedbackShowNonRespondentsLinkHandler } from './services/handlers/show-non-respondents-link'; | ||||
| import { AddonModFeedbackSyncCronHandler } from './services/handlers/sync-cron'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Feedback services. | ||||
|  * | ||||
|  * @returns Returns mod Feedback services. | ||||
|  */ | ||||
| export async function getModFeedbackServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModFeedbackProvider } = await import('@addons/mod/feedback/services/feedback'); | ||||
|     const { AddonModFeedbackOfflineProvider } = await import('@addons/mod/feedback/services/feedback-offline'); | ||||
|     const { AddonModFeedbackHelperProvider } = await import('@addons/mod/feedback/services/feedback-helper'); | ||||
|     const { AddonModFeedbackSyncProvider } = await import('@addons/mod/feedback/services/feedback-sync'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModFeedbackProvider, | ||||
|         AddonModFeedbackOfflineProvider, | ||||
|         AddonModFeedbackHelperProvider, | ||||
|         AddonModFeedbackSyncProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModFeedbackModuleHandlerService.PAGE_NAME, | ||||
| @ -66,7 +46,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModFeedbackComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,35 +12,19 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CorePluginFileDelegate } from '@services/plugin-file-delegate'; | ||||
| import { AddonModFolderComponentsModule } from './components/components.module'; | ||||
| import { AddonModFolderIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModFolderListLinkHandler } from './services/handlers/list-link'; | ||||
| import { AddonModFolderModuleHandler, AddonModFolderModuleHandlerService } from './services/handlers/module'; | ||||
| import { AddonModFolderPluginFileHandler } from './services/handlers/pluginfile'; | ||||
| import { AddonModFolderPrefetchHandler } from './services/handlers/prefetch'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Folder services. | ||||
|  * | ||||
|  * @returns Returns mod Folder services. | ||||
|  */ | ||||
| export async function getModFolderServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModFolderProvider } = await import('@addons/mod/folder/services/folder'); | ||||
|     const { AddonModFolderHelperProvider } = await import('@addons/mod/folder/services/folder-helper'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModFolderProvider, | ||||
|         AddonModFolderHelperProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModFolderModuleHandlerService.PAGE_NAME, | ||||
| @ -51,7 +35,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModFolderComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -58,8 +58,7 @@ import { CoreListItemsManager } from '@classes/items-management/list-items-manag | ||||
| import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | ||||
| import { CorePromisedValue } from '@classes/promised-value'; | ||||
| import { CoreNavigator } from '@services/navigator'; | ||||
| import { FORUM_SEARCH_PAGE_NAME } from '@addons/mod/forum/forum.module'; | ||||
| 
 | ||||
| import { ADDON_MOD_FORUM_SEARCH_PAGE_NAME } from '@addons/mod/forum/constants'; | ||||
| /** | ||||
|  * Component that displays a forum entry page. | ||||
|  */ | ||||
| @ -342,7 +341,7 @@ export class AddonModForumIndexComponent extends CoreCourseModuleMainActivityCom | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         await CoreNavigator.navigateToSitePath(FORUM_SEARCH_PAGE_NAME, { | ||||
|         await CoreNavigator.navigateToSitePath(ADDON_MOD_FORUM_SEARCH_PAGE_NAME, { | ||||
|             params: { | ||||
|                 courseId: this.courseId, | ||||
|                 forumId: this.forum.id, | ||||
|  | ||||
							
								
								
									
										15
									
								
								src/addons/mod/forum/constants.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/addons/mod/forum/constants.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| // (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.
 | ||||
| 
 | ||||
| export const ADDON_MOD_FORUM_SEARCH_PAGE_NAME = 'forum/search'; | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| 
 | ||||
| import { conditionalRoutes } from '@/app/app-routing.module'; | ||||
| @ -22,7 +22,6 @@ import { CoreCourseModuleDelegate } from '@features/course/services/module-deleg | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CoreScreen } from '@services/screen'; | ||||
| 
 | ||||
| import { AddonModForumComponentsModule } from './components/components.module'; | ||||
| import { AddonModForumModuleHandler, AddonModForumModuleHandlerService } from './services/handlers/module'; | ||||
| import { SITE_SCHEMA } from './services/database/offline'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| @ -41,31 +40,11 @@ import { AddonModForumPushClickHandler } from './services/handlers/push-click'; | ||||
| import { AddonModForumProvider } from './services/forum'; | ||||
| import { COURSE_CONTENTS_PATH } from '@features/course/course.module'; | ||||
| import { CoreCourseHelper } from '@features/course/services/course-helper'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Forum services. | ||||
|  * | ||||
|  * @returns Returns mod Forum services. | ||||
|  */ | ||||
| export async function getModForumServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModForumProvider } = await import('@addons/mod/forum/services/forum'); | ||||
|     const { AddonModForumOfflineProvider } = await import('@addons/mod/forum/services/forum-offline'); | ||||
|     const { AddonModForumHelperProvider } = await import('@addons/mod/forum/services/forum-helper'); | ||||
|     const { AddonModForumSyncProvider } = await import('@addons/mod/forum/services/forum-sync'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModForumProvider, | ||||
|         AddonModForumOfflineProvider, | ||||
|         AddonModForumHelperProvider, | ||||
|         AddonModForumSyncProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| export const FORUM_SEARCH_PAGE_NAME = 'forum/search'; | ||||
| import { ADDON_MOD_FORUM_SEARCH_PAGE_NAME } from './constants'; | ||||
| 
 | ||||
| const mainMenuRoutes: Routes = [ | ||||
|     { | ||||
|         path: FORUM_SEARCH_PAGE_NAME, | ||||
|         path: ADDON_MOD_FORUM_SEARCH_PAGE_NAME, | ||||
|         loadChildren: () => import('./forum-search-lazy.module').then(m => m.AddonModForumSearchLazyModule), | ||||
|     }, | ||||
|     { | ||||
| @ -114,7 +93,6 @@ const courseContentsRoutes: Routes = conditionalRoutes( | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(mainMenuRoutes), | ||||
|         CoreCourseContentsRoutingModule.forChild({ children: courseContentsRoutes }), | ||||
|         AddonModForumComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -13,7 +13,7 @@ | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { conditionalRoutes } from '@/app/app-routing.module'; | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { COURSE_CONTENTS_PATH } from '@features/course/course.module'; | ||||
| @ -26,7 +26,6 @@ import { CoreTagAreaDelegate } from '@features/tag/services/tag-area-delegate'; | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { CoreScreen } from '@services/screen'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { AddonModGlossaryComponentsModule } from './components/components.module'; | ||||
| import { SITE_SCHEMA, OFFLINE_SITE_SCHEMA } from './services/database/glossary'; | ||||
| import { AddonModGlossaryProvider } from './services/glossary'; | ||||
| import { AddonModGlossaryEditLinkHandler } from './services/handlers/edit-link'; | ||||
| @ -38,25 +37,6 @@ import { AddonModGlossaryPrefetchHandler } from './services/handlers/prefetch'; | ||||
| import { AddonModGlossarySyncCronHandler } from './services/handlers/sync-cron'; | ||||
| import { AddonModGlossaryTagAreaHandler } from './services/handlers/tag-area'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Glossary services. | ||||
|  * | ||||
|  * @returns Returns mod Glossary services. | ||||
|  */ | ||||
| export async function getModGlossaryServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModGlossaryProvider } = await import('@addons/mod/glossary/services/glossary'); | ||||
|     const { AddonModGlossaryOfflineProvider } = await import('@addons/mod/glossary/services/glossary-offline'); | ||||
|     const { AddonModGlossarySyncProvider } = await import('@addons/mod/glossary/services/glossary-sync'); | ||||
|     const { AddonModGlossaryHelperProvider } = await import('@addons/mod/glossary/services/glossary-helper'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModGlossaryProvider, | ||||
|         AddonModGlossaryOfflineProvider, | ||||
|         AddonModGlossarySyncProvider, | ||||
|         AddonModGlossaryHelperProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const mainMenuRoutes: Routes = [ | ||||
|     // Link handlers navigation.
 | ||||
|     { | ||||
| @ -105,7 +85,6 @@ const courseContentsRoutes: Routes = conditionalRoutes( | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(mainMenuRoutes), | ||||
|         CoreCourseContentsRoutingModule.forChild({ children: courseContentsRoutes }), | ||||
|         AddonModGlossaryComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,35 +12,19 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { AddonModH5PActivityComponentsModule } from './components/components.module'; | ||||
| import { AddonModH5PActivityIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModH5PActivityModuleHandler, AddonModH5PActivityModuleHandlerService } from './services/handlers/module'; | ||||
| import { AddonModH5PActivityPrefetchHandler } from './services/handlers/prefetch'; | ||||
| import { AddonModH5PActivityReportLinkHandler } from './services/handlers/report-link'; | ||||
| import { AddonModH5PActivitySyncCronHandler } from './services/handlers/sync-cron'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod H5P activity services. | ||||
|  * | ||||
|  * @returns Returns mod H5P activity services. | ||||
|  */ | ||||
| export async function getModH5PActivityServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModH5PActivityProvider } = await import('@addons/mod/h5pactivity/services/h5pactivity'); | ||||
|     const { AddonModH5PActivitySyncProvider } = await import('@addons/mod/h5pactivity/services/h5pactivity-sync'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModH5PActivityProvider, | ||||
|         AddonModH5PActivitySyncProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModH5PActivityModuleHandlerService.PAGE_NAME, | ||||
| @ -51,7 +35,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModH5PActivityComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,33 +12,19 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CorePluginFileDelegate } from '@services/plugin-file-delegate'; | ||||
| import { AddonModImscpComponentsModule } from './components/components.module'; | ||||
| import { AddonModImscpIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModImscpListLinkHandler } from './services/handlers/list-link'; | ||||
| import { AddonModImscpModuleHandler, AddonModImscpModuleHandlerService } from './services/handlers/module'; | ||||
| import { AddonModImscpPluginFileHandler } from './services/handlers/pluginfile'; | ||||
| import { AddonModImscpPrefetchHandler } from './services/handlers/prefetch'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Imscp services. | ||||
|  * | ||||
|  * @returns Returns mod Imscp services. | ||||
|  */ | ||||
| export async function getModImscpServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModImscpProvider } = await import('@addons/mod/imscp/services/imscp'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModImscpProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModImscpModuleHandlerService.PAGE_NAME, | ||||
| @ -49,7 +35,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModImscpComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseHelper } from '@features/course/services/course-helper'; | ||||
| @ -23,7 +23,6 @@ import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-ro | ||||
| import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate'; | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { AddonModLessonComponentsModule } from './components/components.module'; | ||||
| import { SITE_SCHEMA, OFFLINE_SITE_SCHEMA, SYNC_SITE_SCHEMA } from './services/database/lesson'; | ||||
| import { AddonModLessonGradeLinkHandler } from './services/handlers/grade-link'; | ||||
| import { AddonModLessonIndexLinkHandler } from './services/handlers/index-link'; | ||||
| @ -35,25 +34,6 @@ import { AddonModLessonReportLinkHandler } from './services/handlers/report-link | ||||
| import { AddonModLessonSyncCronHandler } from './services/handlers/sync-cron'; | ||||
| import { AddonModLessonProvider } from './services/lesson'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Lesson services. | ||||
|  * | ||||
|  * @returns Returns mod Lesson services. | ||||
|  */ | ||||
| export async function getModLessonServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModLessonProvider } = await import('@addons/mod/lesson/services/lesson'); | ||||
|     const { AddonModLessonOfflineProvider } = await import('@addons/mod/lesson/services/lesson-offline'); | ||||
|     const { AddonModLessonSyncProvider } = await import('@addons/mod/lesson/services/lesson-sync'); | ||||
|     const { AddonModLessonHelperProvider } = await import('@addons/mod/lesson/services/lesson-helper'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModLessonProvider, | ||||
|         AddonModLessonOfflineProvider, | ||||
|         AddonModLessonSyncProvider, | ||||
|         AddonModLessonHelperProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModLessonModuleHandlerService.PAGE_NAME, | ||||
| @ -64,7 +44,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModLessonComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,34 +12,18 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { AddonModLtiComponentsModule } from './components/components.module'; | ||||
| import { AddonModLtiIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModLtiListLinkHandler } from './services/handlers/list-link'; | ||||
| import { AddonModLtiModuleHandler, AddonModLtiModuleHandlerService } from './services/handlers/module'; | ||||
| import { AddonModLtiPrefetchHandler } from './services/handlers/prefetch'; | ||||
| import { AddonModLtiHelper } from './services/lti-helper'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Lti services. | ||||
|  * | ||||
|  * @returns Returns mod Lti services. | ||||
|  */ | ||||
| export async function getModLtiServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModLtiProvider } = await import('@addons/mod/lti/services/lti'); | ||||
|     const { AddonModLtiHelperProvider } = await import('@addons/mod/lti/services/lti-helper'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModLtiProvider, | ||||
|         AddonModLtiHelperProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModLtiModuleHandlerService.PAGE_NAME, | ||||
| @ -50,7 +34,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModLtiComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,35 +12,19 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CorePluginFileDelegate } from '@services/plugin-file-delegate'; | ||||
| import { AddonModPageComponentsModule } from './components/components.module'; | ||||
| import { AddonModPageIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModPageListLinkHandler } from './services/handlers/list-link'; | ||||
| import { AddonModPageModuleHandler, AddonModPageModuleHandlerService } from './services/handlers/module'; | ||||
| import { AddonModPagePluginFileHandler } from './services/handlers/pluginfile'; | ||||
| import { AddonModPagePrefetchHandler } from './services/handlers/prefetch'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Page services. | ||||
|  * | ||||
|  * @returns Returns mod Page services. | ||||
|  */ | ||||
| export async function getModPageServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModPageProvider } = await import('@addons/mod/page/services/page'); | ||||
|     const { AddonModPageHelperProvider } = await import('@addons/mod/page/services/page-helper'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModPageProvider, | ||||
|         AddonModPageHelperProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModPageModuleHandlerService.PAGE_NAME, | ||||
| @ -51,7 +35,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModPageComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -24,7 +24,6 @@ import { CorePushNotificationsDelegate } from '@features/pushnotifications/servi | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { AddonModQuizAccessRulesModule } from './accessrules/accessrules.module'; | ||||
| import { AddonModQuizComponentsModule } from './components/components.module'; | ||||
| import { SITE_SCHEMA } from './services/database/quiz'; | ||||
| import { AddonModQuizGradeLinkHandler } from './services/handlers/grade-link'; | ||||
| import { AddonModQuizIndexLinkHandler } from './services/handlers/index-link'; | ||||
| @ -57,6 +56,17 @@ export async function getModQuizServices(): Promise<Type<unknown>[]> { | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Get quiz component modules. | ||||
|  * | ||||
|  * @returns Quiz component modules. | ||||
|  */ | ||||
| export async function getModQuizComponentModules(): Promise<unknown[]> { | ||||
|     const { AddonModQuizComponentsModule } = await import('@addons/mod/quiz/components/components.module'); | ||||
| 
 | ||||
|     return [AddonModQuizComponentsModule]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModQuizModuleHandlerService.PAGE_NAME, | ||||
| @ -67,7 +77,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModQuizComponentsModule, | ||||
|         AddonModQuizAccessRulesModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|  | ||||
| @ -12,33 +12,19 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CorePluginFileDelegate } from '@services/plugin-file-delegate'; | ||||
| import { AddonModResourceComponentsModule } from './components/components.module'; | ||||
| import { AddonModResourceIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModResourceListLinkHandler } from './services/handlers/list-link'; | ||||
| import { AddonModResourceModuleHandlerService, AddonModResourceModuleHandler } from './services/handlers/module'; | ||||
| import { AddonModResourcePluginFileHandler } from './services/handlers/pluginfile'; | ||||
| import { AddonModResourcePrefetchHandler } from './services/handlers/prefetch'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Resource services. | ||||
|  * | ||||
|  * @returns Returns mod Resource services. | ||||
|  */ | ||||
| export async function getModResourceServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModResourceProvider } = await import('@addons/mod/resource/services/resource'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModResourceProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModResourceModuleHandlerService.PAGE_NAME, | ||||
| @ -49,7 +35,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModResourceComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseHelper } from '@features/course/services/course-helper'; | ||||
| @ -22,7 +22,6 @@ import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-ro | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { CorePluginFileDelegate } from '@services/plugin-file-delegate'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { AddonModScormComponentsModule } from './components/components.module'; | ||||
| import { OFFLINE_SITE_SCHEMA } from './services/database/scorm'; | ||||
| import { AddonModScormGradeLinkHandler } from './services/handlers/grade-link'; | ||||
| import { AddonModScormIndexLinkHandler } from './services/handlers/index-link'; | ||||
| @ -34,25 +33,6 @@ import { AddonModScormPrefetchHandler } from './services/handlers/prefetch'; | ||||
| import { AddonModScormSyncCronHandler } from './services/handlers/sync-cron'; | ||||
| import { AddonModScormProvider } from './services/scorm'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Scorm services. | ||||
|  * | ||||
|  * @returns Returns mod Scorm services. | ||||
|  */ | ||||
| export async function getModScormServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModScormProvider } = await import('@addons/mod/scorm/services/scorm'); | ||||
|     const { AddonModScormOfflineProvider } = await import('@addons/mod/scorm/services/scorm-offline'); | ||||
|     const { AddonModScormHelperProvider } = await import('@addons/mod/scorm/services/scorm-helper'); | ||||
|     const { AddonModScormSyncProvider } = await import('@addons/mod/scorm/services/scorm-sync'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModScormProvider, | ||||
|         AddonModScormOfflineProvider, | ||||
|         AddonModScormHelperProvider, | ||||
|         AddonModScormSyncProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModScormModuleHandlerService.PAGE_NAME, | ||||
| @ -63,7 +43,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModScormComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| @ -28,36 +28,6 @@ import { getPrefetchHandlerInstance } from './services/handlers/prefetch'; | ||||
| import { getCronHandlerInstance } from './services/handlers/sync-cron'; | ||||
| import { ADDON_MOD_SURVEY_PAGE_NAME } from '@addons/mod/survey/constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Survey services. | ||||
|  * | ||||
|  * @returns Returns mod Survey services. | ||||
|  */ | ||||
| export async function getModSurveyServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModSurveyProvider } = await import('@addons/mod/survey/services/survey'); | ||||
|     const { AddonModSurveyOfflineProvider } = await import('@addons/mod/survey/services/survey-offline'); | ||||
|     const { AddonModSurveySyncProvider } = await import('@addons/mod/survey/services/survey-sync'); | ||||
|     const { AddonModSurveyHelperProvider } = await import('@addons/mod/survey/services/survey-helper'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModSurveyProvider, | ||||
|         AddonModSurveyHelperProvider, | ||||
|         AddonModSurveySyncProvider, | ||||
|         AddonModSurveyOfflineProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Get survey component modules. | ||||
|  * | ||||
|  * @returns Survey component modules. | ||||
|  */ | ||||
| export async function getModSurveyComponentModules(): Promise<unknown[]> { | ||||
|     const { AddonModSurveyComponentsModule } = await import('@addons/mod/survey/components/components.module'); | ||||
| 
 | ||||
|     return [AddonModSurveyComponentsModule]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: ADDON_MOD_SURVEY_PAGE_NAME, | ||||
|  | ||||
| @ -12,34 +12,18 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { AddonModUrlComponentsModule } from './components/components.module'; | ||||
| import { AddonModUrlIndexLinkHandler } from './services/handlers/index-link'; | ||||
| import { AddonModUrlListLinkHandler } from './services/handlers/list-link'; | ||||
| import { AddonModUrlModuleHandler } from './services/handlers/module'; | ||||
| import { AddonModUrlPrefetchHandler } from './services/handlers/prefetch'; | ||||
| import { ADDON_MOD_URL_PAGE_NAME } from './constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Url services. | ||||
|  * | ||||
|  * @returns Returns mod Url services. | ||||
|  */ | ||||
| export async function getModUrlServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModUrlProvider } = await import('@addons/mod/url/services/url'); | ||||
|     const { AddonModUrlHelperProvider } = await import('@addons/mod/url/services/url-helper'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModUrlProvider, | ||||
|         AddonModUrlHelperProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: ADDON_MOD_URL_PAGE_NAME, | ||||
| @ -50,7 +34,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModUrlComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule, Type } from '@angular/core'; | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreCourseHelper } from '@features/course/services/course-helper'; | ||||
| @ -22,7 +22,6 @@ import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-ro | ||||
| import { CoreTagAreaDelegate } from '@features/tag/services/tag-area-delegate'; | ||||
| import { CoreCronDelegate } from '@services/cron'; | ||||
| import { CORE_SITE_SCHEMAS } from '@services/sites'; | ||||
| import { AddonModWikiComponentsModule } from './components/components.module'; | ||||
| import { OFFLINE_SITE_SCHEMA } from './services/database/wiki'; | ||||
| import { AddonModWikiCreateLinkHandler } from './services/handlers/create-link'; | ||||
| import { AddonModWikiEditLinkHandler } from './services/handlers/edit-link'; | ||||
| @ -35,23 +34,6 @@ import { AddonModWikiSyncCronHandler } from './services/handlers/sync-cron'; | ||||
| import { AddonModWikiTagAreaHandler } from './services/handlers/tag-area'; | ||||
| import { AddonModWikiProvider } from './services/wiki'; | ||||
| 
 | ||||
| /** | ||||
|  * Get mod Wiki services. | ||||
|  * | ||||
|  * @returns Returns mod Wiki services. | ||||
|  */ | ||||
| export async function getModWikiServices(): Promise<Type<unknown>[]> { | ||||
|     const { AddonModWikiProvider } = await import('@addons/mod/wiki/services/wiki'); | ||||
|     const { AddonModWikiOfflineProvider } = await import('@addons/mod/wiki/services/wiki-offline'); | ||||
|     const { AddonModWikiSyncProvider } = await import('@addons/mod/wiki/services/wiki-sync'); | ||||
| 
 | ||||
|     return [ | ||||
|         AddonModWikiProvider, | ||||
|         AddonModWikiOfflineProvider, | ||||
|         AddonModWikiSyncProvider, | ||||
|     ]; | ||||
| } | ||||
| 
 | ||||
| const routes: Routes = [ | ||||
|     { | ||||
|         path: AddonModWikiModuleHandlerService.PAGE_NAME, | ||||
| @ -62,7 +44,6 @@ const routes: Routes = [ | ||||
| @NgModule({ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         AddonModWikiComponentsModule, | ||||
|     ], | ||||
|     providers: [ | ||||
|         { | ||||
|  | ||||
| @ -33,7 +33,6 @@ const routes: Routes = [ | ||||
|         CoreCommentsComponentsModule, | ||||
|         CoreTagComponentsModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     declarations: [ | ||||
|         AddonNotesListPage, | ||||
|     ], | ||||
|  | ||||
| @ -17,7 +17,7 @@ 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 { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { ROUTES, Routes } from '@angular/router'; | ||||
| import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; | ||||
| 
 | ||||
| import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| @ -69,7 +69,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|         AddonNotificationsListPage, | ||||
|         AddonNotificationsNotificationPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: ROUTES, | ||||
|  | ||||
| @ -33,6 +33,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         AddonNotificationsSettingsPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class AddonNotificationsSettingsLazyModule {} | ||||
|  | ||||
| @ -64,7 +64,6 @@ const preferencesRoutes: Routes = [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         CoreSitePreferencesRoutingModule.forChild(preferencesRoutes), | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -15,7 +15,7 @@ | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| import { AddonPrivateFilesIndexPage } from '@addons/privatefiles/pages/index'; | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { ROUTES, Routes } from '@angular/router'; | ||||
| 
 | ||||
| import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| 
 | ||||
| @ -49,7 +49,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|     declarations: [ | ||||
|         AddonPrivateFilesIndexPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: ROUTES, | ||||
|  | ||||
| @ -47,7 +47,6 @@ const routes: Routes = [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         CoreMainMenuRoutingModule.forChild({ children: routes }), | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -18,8 +18,6 @@ import { CoreContentLinksDelegate } from '@features/contentlinks/services/conten | ||||
| import { AddonReportInsightsActionLinkHandler } from './services/handlers/action-link'; | ||||
| 
 | ||||
| @NgModule({ | ||||
|     imports: [], | ||||
|     exports: [], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -35,7 +35,6 @@ const routes: Routes = [ | ||||
|         RouterModule.forChild(routes), | ||||
|         CoreSharedModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     declarations: [ | ||||
|         AddonStorageManagerCoursesStoragePage, | ||||
|         AddonStorageManagerCourseStoragePage, | ||||
|  | ||||
| @ -33,7 +33,6 @@ const routes: Routes = [ | ||||
|         CoreMainMenuRoutingModule.forChild({ children: routes }), | ||||
|         CoreSitePreferencesRoutingModule.forChild(routes), | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -226,7 +226,6 @@ export const APP_ROUTES = new InjectionToken('APP_ROUTES'); | ||||
|     providers: [ | ||||
|         { provide: ROUTES, multi: true, useFactory: buildAppRoutes, deps: [Injector] }, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class AppRoutingModule { | ||||
| 
 | ||||
|  | ||||
| @ -129,32 +129,14 @@ 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 { getModAssignServices } from '@addons/mod/assign/assign.module'; | ||||
| import { getModBookServices } from '@addons/mod/book/book.module'; | ||||
| import { getModChatServices, getModChatComponentModules } from '@addons/mod/chat/chat.module'; | ||||
| import { getModChoiceServices } from '@addons/mod/choice/choice.module'; | ||||
| import { getModFeedbackServices } from '@addons/mod/feedback/feedback.module'; | ||||
| import { getModFolderServices } from '@addons/mod/folder/folder.module'; | ||||
| import { getModForumServices } from '@addons/mod/forum/forum.module'; | ||||
| import { getModGlossaryServices } from '@addons/mod/glossary/glossary.module'; | ||||
| import { getModH5PActivityServices } from '@addons/mod/h5pactivity/h5pactivity.module'; | ||||
| import { getModImscpServices } from '@addons/mod/imscp/imscp.module'; | ||||
| import { getModLessonServices } from '@addons/mod/lesson/lesson.module'; | ||||
| import { getModLtiServices } from '@addons/mod/lti/lti.module'; | ||||
| import { getModPageServices } from '@addons/mod/page/page.module'; | ||||
| import { getModQuizServices } from '@addons/mod/quiz/quiz.module'; | ||||
| import { getModResourceServices } from '@addons/mod/resource/resource.module'; | ||||
| import { getModScormServices } from '@addons/mod/scorm/scorm.module'; | ||||
| import { getModSurveyComponentModules, getModSurveyServices } from '@addons/mod/survey/survey.module'; | ||||
| import { getModUrlServices } from '@addons/mod/url/url.module'; | ||||
| import { getModWikiServices } from '@addons/mod/wiki/wiki.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 { getNotesServices } from '@addons/notes/notes.module'; | ||||
| import { getNotificationsServices } from '@addons/notifications/notifications.module'; | ||||
| import { getPrivateFilesServices } from '@addons/privatefiles/privatefiles.module'; | ||||
| 
 | ||||
| // Import some addon modules that define components, directives and pipes. Only import the important ones.
 | ||||
| import { AddonModAssignComponentsModule } from '@addons/mod/assign/components/components.module'; | ||||
| import { CorePromisedValue } from '@classes/promised-value'; | ||||
| import { CorePlatform } from '@services/platform'; | ||||
| 
 | ||||
| @ -177,15 +159,22 @@ export class CoreCompileProvider { | ||||
| 
 | ||||
|     // List of imports for dynamic module. Since the template can have any component we need to import all core components modules.
 | ||||
|     protected readonly IMPORTS = [ | ||||
|         CoreSharedModule, CoreCourseComponentsModule, CoreCoursesComponentsModule, CoreUserComponentsModule, | ||||
|         CoreCourseDirectivesModule, CoreQuestionComponentsModule, AddonModAssignComponentsModule, | ||||
|         CoreBlockComponentsModule, CoreEditorComponentsModule, CoreSearchComponentsModule, CoreSitePluginsDirectivesModule, | ||||
|         CoreSharedModule, | ||||
|         CoreCourseComponentsModule, | ||||
|         CoreCoursesComponentsModule, | ||||
|         CoreUserComponentsModule, | ||||
|         CoreCourseDirectivesModule, | ||||
|         CoreQuestionComponentsModule, | ||||
|         CoreBlockComponentsModule, | ||||
|         CoreEditorComponentsModule, | ||||
|         CoreSearchComponentsModule, | ||||
|         CoreSitePluginsDirectivesModule, | ||||
|     ]; | ||||
| 
 | ||||
|     protected readonly LAZY_IMPORTS = [ | ||||
|         getModAssignComponentModules, | ||||
|         getModQuizComponentModules, | ||||
|         getModWorkshopComponentModules, | ||||
|         getModSurveyComponentModules, | ||||
|         getModChatComponentModules, | ||||
|     ]; | ||||
| 
 | ||||
|     constructor(protected injector: Injector) { | ||||
| @ -393,24 +382,7 @@ export class CoreCompileProvider { | ||||
|             getMessageOutputServices(), | ||||
|             getMessagesServices(), | ||||
|             getModAssignServices(), | ||||
|             getModBookServices(), | ||||
|             getModChatServices(), | ||||
|             getModChoiceServices(), | ||||
|             getModFeedbackServices(), | ||||
|             getModFolderServices(), | ||||
|             getModForumServices(), | ||||
|             getModGlossaryServices(), | ||||
|             getModH5PActivityServices(), | ||||
|             getModImscpServices(), | ||||
|             getModLessonServices(), | ||||
|             getModLtiServices(), | ||||
|             getModPageServices(), | ||||
|             getModQuizServices(), | ||||
|             getModResourceServices(), | ||||
|             getModScormServices(), | ||||
|             getModSurveyServices(), | ||||
|             getModUrlServices(), | ||||
|             getModWikiServices(), | ||||
|             getModWorkshopServices(), | ||||
|             getNotesServices(), | ||||
|             getNotificationsServices(), | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
| 
 | ||||
| import { CoreConstants, DownloadStatus } from '@/core/constants'; | ||||
| import { AddonBlog } from '@addons/blog/services/blog'; | ||||
| import { AddonBlogMainMenuHandlerService } from '@addons/blog/services/handlers/mainmenu'; | ||||
| import { ADDON_BLOG_MAINMENU_PAGE_NAME } from '@addons/blog/constants'; | ||||
| import { Component, Input, OnDestroy, OnInit } from '@angular/core'; | ||||
| import { Params } from '@angular/router'; | ||||
| import { CoreCourse } from '@features/course/services/course'; | ||||
| @ -238,7 +238,7 @@ export class CoreCourseModuleSummaryComponent implements OnInit, OnDestroy { | ||||
|     async gotoBlog(): Promise<void> { | ||||
|         const params: Params = { cmId: this.moduleId }; | ||||
| 
 | ||||
|         await CoreNavigator.navigateToSitePath(AddonBlogMainMenuHandlerService.PAGE_NAME, { params }); | ||||
|         await CoreNavigator.navigateToSitePath(ADDON_BLOG_MAINMENU_PAGE_NAME, { params }); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|  | ||||
| @ -13,7 +13,7 @@ | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { ROUTES, Routes } from '@angular/router'; | ||||
| 
 | ||||
| import { CoreCourseComponentsModule } from '@features/course/components/components.module'; | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| @ -50,6 +50,5 @@ function buildRoutes(injector: Injector): Routes { | ||||
|     declarations: [ | ||||
|         CoreCourseContentsPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreCourseContentsLazyModule {} | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
| 
 | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| 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'; | ||||
| @ -75,7 +75,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|         CoreCourseComponentsModule, | ||||
|         CoreCourseSummaryPageModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: ROUTES, | ||||
|  | ||||
| @ -34,6 +34,5 @@ const routes: Routes = [ | ||||
|         CoreRemindersComponentsModule, | ||||
|         CoreCourseSummaryPageModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreCourseSummaryLazyModule {} | ||||
|  | ||||
| @ -86,7 +86,6 @@ const courseIndexRoutes: Routes = [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|         CoreCourseFormatModule, | ||||
|     ], | ||||
|     exports: [CoreCourseIndexRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: CORE_SITE_SCHEMAS, | ||||
|  | ||||
| @ -35,6 +35,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         CoreCoursesDashboardPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreCoursesDashboardLazyModule {} | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
| 
 | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| 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'; | ||||
| @ -70,7 +70,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|         CoreCoursesCategoriesPage, | ||||
|         CoreCoursesListPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: ROUTES, | ||||
|  | ||||
| @ -38,6 +38,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         CoreCoursesMyPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreCoursesMyLazyModule {} | ||||
|  | ||||
| @ -78,7 +78,6 @@ const routes: Routes = [ | ||||
|         CoreMainMenuRoutingModule.forChild({ children: routes }), | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -35,6 +35,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         CoreLoginCredentialsPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreLoginCredentialsLazyModule {} | ||||
|  | ||||
| @ -35,6 +35,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         CoreLoginReconnectPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreLoginReconnectLazyModule {} | ||||
|  | ||||
| @ -13,7 +13,7 @@ | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { ROUTES, Routes } from '@angular/router'; | ||||
| 
 | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| 
 | ||||
| @ -56,8 +56,5 @@ function buildRoutes(injector: Injector): Routes { | ||||
|     declarations: [ | ||||
|         CoreMainMenuHomePage, | ||||
|     ], | ||||
|     exports: [ | ||||
|         RouterModule, | ||||
|     ], | ||||
| }) | ||||
| export class CoreMainMenuHomeLazyModule {} | ||||
|  | ||||
| @ -13,7 +13,7 @@ | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { RouterModule, Routes, ROUTES } from '@angular/router'; | ||||
| import { Routes, ROUTES } from '@angular/router'; | ||||
| 
 | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| @ -52,8 +52,5 @@ function buildRoutes(injector: Injector): Routes { | ||||
|     declarations: [ | ||||
|         CoreMainMenuMorePage, | ||||
|     ], | ||||
|     exports: [ | ||||
|         RouterModule, | ||||
|     ], | ||||
| }) | ||||
| export class CoreMainMenuMoreLazyModule {} | ||||
|  | ||||
| @ -32,6 +32,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         CoreMainMenuReloadPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreMainMenuReloadLazyModule {} | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { AddonCalendarProvider } from '@addons/calendar/services/calendar'; | ||||
| import { ADDON_CALENDAR_COMPONENT } from '@addons/calendar/constants'; | ||||
| import { AddonCalendarEventDBRecord, EVENTS_TABLE } from '@addons/calendar/services/database/calendar'; | ||||
| import { SQLiteDB } from '@classes/sqlitedb'; | ||||
| import { CoreSiteSchema } from '@services/sites'; | ||||
| @ -194,7 +194,7 @@ const createReminder = async ( | ||||
|     reminderTime: number, | ||||
| ): Promise<void> => { | ||||
|     const reminder: CoreReminderData = { | ||||
|         component: AddonCalendarProvider.COMPONENT, | ||||
|         component: ADDON_CALENDAR_COMPONENT, | ||||
|         instanceId: event.id, | ||||
|         type: event.eventtype, | ||||
|         timebefore: reminderTime, | ||||
|  | ||||
| @ -15,7 +15,6 @@ | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { Routes } from '@angular/router'; | ||||
| import { CoreContentLinksDelegate } from '@features/contentlinks/services/contentlinks-delegate'; | ||||
| import { CoreMainMenuRoutingModule } from '@features/mainmenu/mainmenu-routing.module'; | ||||
| import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| import { CoreUserDelegate } from '@features/user/services/user-delegate'; | ||||
| import { CoreReportBuilderLinkHandler } from './services/handlers/reportbuilder-link'; | ||||
| @ -32,7 +31,6 @@ const routes: Routes = [ | ||||
|     imports: [ | ||||
|         CoreMainMenuTabRoutingModule.forChild(routes), | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
| 
 | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| import { NgModule, Injector } from '@angular/core'; | ||||
| import { RouterModule, Routes, ROUTES } from '@angular/router'; | ||||
| 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'; | ||||
| @ -38,7 +38,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|         CoreSearchComponentsModule, | ||||
|         CoreMainMenuComponentsModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     declarations: [ | ||||
|         CoreSearchGlobalSearchPage, | ||||
|     ], | ||||
|  | ||||
| @ -13,7 +13,7 @@ | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { ROUTES, Routes } from '@angular/router'; | ||||
| 
 | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| import { conditionalRoutes } from '@/app/app-routing.module'; | ||||
| @ -60,6 +60,5 @@ function buildRoutes(injector: Injector): Routes { | ||||
|     imports: [ | ||||
|         CoreSharedModule, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreettingsSiteLazyModule {} | ||||
|  | ||||
| @ -37,6 +37,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         CoreSiteHomeIndexPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreSiteHomeLazyModule {} | ||||
|  | ||||
| @ -43,7 +43,6 @@ const mainMenuHomeRoutes: Routes = [ | ||||
| 
 | ||||
| @NgModule({ | ||||
|     imports: [CoreMainMenuHomeRoutingModule.forChild({ children: mainMenuHomeRoutes })], | ||||
|     exports: [CoreMainMenuHomeRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -15,7 +15,7 @@ | ||||
| import { conditionalRoutes } from '@/app/app-routing.module'; | ||||
| import { CoreSharedModule } from '@/core/shared.module'; | ||||
| import { Injector, NgModule } from '@angular/core'; | ||||
| import { Route, RouterModule, ROUTES, Routes } from '@angular/router'; | ||||
| import { Route, ROUTES, Routes } from '@angular/router'; | ||||
| import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module'; | ||||
| 
 | ||||
| import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module'; | ||||
| @ -86,7 +86,6 @@ function buildRoutes(injector: Injector): Routes { | ||||
|         CoreTagSearchPage, | ||||
|         CoreTagIndexAreaPage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: ROUTES, | ||||
|  | ||||
| @ -53,7 +53,6 @@ const routes: Routes = [ | ||||
|         CoreMainMenuRoutingModule.forChild({ children: routes }), | ||||
|         CoreTagComponentsModule, | ||||
|     ], | ||||
|     exports: [CoreMainMenuRoutingModule], | ||||
|     providers: [ | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|  | ||||
| @ -32,6 +32,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         CoreUserCompleteProfilePage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreUserAppLazyModule {} | ||||
|  | ||||
| @ -33,6 +33,5 @@ const routes: Routes = [ | ||||
|     declarations: [ | ||||
|         CoreUserProfilePage, | ||||
|     ], | ||||
|     exports: [RouterModule], | ||||
| }) | ||||
| export class CoreUserProfileLazyModule {} | ||||
|  | ||||
| @ -15,6 +15,7 @@ For more information about upgrading, read the official documentation: https://m | ||||
|  - Due to a breaking change in cordova-plugin-file, avoid using FileEntry.toURL(). Use CoreFileProvider.getFileEntryURL instead. | ||||
|  - FileTransfer service is no longer available, now we recommend use window.FileTransfer instead. | ||||
|  - CSS variable --font-size-normal has been deprecated in favor of --font-size-md. | ||||
|  - Activity modules services that does not admit plugins are not avaible for site plugins anymore. | ||||
| 
 | ||||
| === 4.3.0 === | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user