forked from CIT/Vmeda.Online
		
	MOBILE-3833 courses: Add site home link handler
This commit is contained in:
		
							parent
							
								
									be28e1c2e4
								
							
						
					
					
						commit
						9514f1e719
					
				@ -15,17 +15,18 @@
 | 
			
		||||
import { Injectable } from '@angular/core';
 | 
			
		||||
import { CoreContentLinksHandlerBase } from '@features/contentlinks/classes/base-handler';
 | 
			
		||||
import { CoreContentLinksAction } from '@features/contentlinks/services/contentlinks-delegate';
 | 
			
		||||
import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/handlers/mainmenu';
 | 
			
		||||
import { CoreNavigator } from '@services/navigator';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { CoreDashboardHomeHandler, CoreDashboardHomeHandlerService } from './dashboard-home';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to treat links to my overview.
 | 
			
		||||
 * Handler to treat links to dashboard.
 | 
			
		||||
 */
 | 
			
		||||
@Injectable({ providedIn: 'root' })
 | 
			
		||||
export class CoreCoursesDashboardLinkHandlerService extends CoreContentLinksHandlerBase {
 | 
			
		||||
 | 
			
		||||
    name = 'CoreCoursesMyOverviewLinkHandler';
 | 
			
		||||
    name = 'CoreCoursesDashboardLinkHandler';
 | 
			
		||||
    pattern = /\/my\/?$/;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@ -37,7 +38,13 @@ export class CoreCoursesDashboardLinkHandlerService extends CoreContentLinksHand
 | 
			
		||||
        return [{
 | 
			
		||||
            action: (siteId): void => {
 | 
			
		||||
                // Use redirect to select the tab.
 | 
			
		||||
                CoreNavigator.navigateToSitePath(CoreDashboardHomeHandlerService.PAGE_NAME, { siteId });
 | 
			
		||||
                CoreNavigator.navigateToSitePath(
 | 
			
		||||
                    `/${CoreMainMenuHomeHandlerService.PAGE_NAME}/${CoreDashboardHomeHandlerService.PAGE_NAME}`,
 | 
			
		||||
                    {
 | 
			
		||||
                        siteId,
 | 
			
		||||
                        preferCurrentTab: false,
 | 
			
		||||
                    },
 | 
			
		||||
                );
 | 
			
		||||
            },
 | 
			
		||||
        }];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,8 @@ import { CoreContentLinksAction } from '@features/contentlinks/services/contentl
 | 
			
		||||
import { CoreSiteHome } from '../sitehome';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { CoreNavigator } from '@services/navigator';
 | 
			
		||||
import { CoreSiteHomeHomeHandlerService } from './sitehome-home';
 | 
			
		||||
import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/handlers/mainmenu';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to treat links to site home index.
 | 
			
		||||
@ -29,7 +31,7 @@ export class CoreSiteHomeIndexLinkHandlerService extends CoreContentLinksHandler
 | 
			
		||||
 | 
			
		||||
    name = 'CoreSiteHomeIndexLinkHandler';
 | 
			
		||||
    featureName = 'CoreMainMenuDelegate_CoreSiteHome';
 | 
			
		||||
    pattern = /\/course\/view\.php.*([?&]id=\d+)/;
 | 
			
		||||
    pattern = /\/course\/view\.php.*([?&]id=\d+)|\/index\.php(\?redirect=0)?/;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
@ -37,10 +39,13 @@ export class CoreSiteHomeIndexLinkHandlerService extends CoreContentLinksHandler
 | 
			
		||||
    getActions(): CoreContentLinksAction[] | Promise<CoreContentLinksAction[]> {
 | 
			
		||||
        return [{
 | 
			
		||||
            action: (siteId: string): void => {
 | 
			
		||||
                CoreNavigator.navigateToSitePath('/home/site', {
 | 
			
		||||
                    preferCurrentTab: false,
 | 
			
		||||
                    siteId,
 | 
			
		||||
                });
 | 
			
		||||
                CoreNavigator.navigateToSitePath(
 | 
			
		||||
                    `/${CoreMainMenuHomeHandlerService.PAGE_NAME}/${CoreSiteHomeHomeHandlerService.PAGE_NAME}`,
 | 
			
		||||
                    {
 | 
			
		||||
                        preferCurrentTab: false,
 | 
			
		||||
                        siteId,
 | 
			
		||||
                    },
 | 
			
		||||
                );
 | 
			
		||||
            },
 | 
			
		||||
        }];
 | 
			
		||||
    }
 | 
			
		||||
@ -51,7 +56,7 @@ export class CoreSiteHomeIndexLinkHandlerService extends CoreContentLinksHandler
 | 
			
		||||
    async isEnabled(siteId: string, url: string, params: Record<string, string>, courseId?: number): Promise<boolean> {
 | 
			
		||||
        courseId = parseInt(params.id, 10);
 | 
			
		||||
        if (!courseId) {
 | 
			
		||||
            return false;
 | 
			
		||||
            return url.includes('index.php');
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        const site = await CoreSites.getSite(siteId);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user