Merge pull request #2751 from dpalou/MOBILE-3701

Mobile 3701
main
Pau Ferrer Ocaña 2021-05-10 15:11:53 +02:00 committed by GitHub
commit 80b7b2a285
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 10 deletions

View File

@ -187,7 +187,11 @@
context: 'iframe', context: 'iframe',
action: 'link_clicked', action: 'link_clicked',
frameUrl: location.href, frameUrl: location.href,
link: {href: link.href, target: link.target}, link: {
href: link.href,
target: link.target,
originalHref: link.getAttribute('href'),
},
}, '*'); }, '*');
} }
@ -207,4 +211,4 @@
return concatenatePaths(pathToDir, url); return concatenatePaths(pathToDir, url);
} }
})(); })();

View File

@ -13,12 +13,11 @@
// limitations under the License. // limitations under the License.
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { CoreBlockDelegate } from '@features/block/services/block-delegate';
import { CoreMainMenuHomeHandler, CoreMainMenuHomeHandlerToDisplay } from '@features/mainmenu/services/home-delegate'; import { CoreMainMenuHomeHandler, CoreMainMenuHomeHandlerToDisplay } from '@features/mainmenu/services/home-delegate';
import { CoreSiteHome } from '@features/sitehome/services/sitehome'; import { CoreSiteHomeHomeHandler } from '@features/sitehome/services/handlers/sitehome-home';
import { makeSingleton } from '@singletons'; import { makeSingleton } from '@singletons';
import { CoreCourses } from '../courses'; import { CoreCourses } from '../courses';
import { CoreCoursesDashboard } from '../dashboard'; import { CoreDashboardHomeHandler } from './dashboard-home';
/** /**
* Handler to add my courses into home page. * Handler to add my courses into home page.
@ -53,9 +52,10 @@ export class CoreCoursesMyCoursesHomeHandlerService implements CoreMainMenuHomeH
return false; return false;
} }
const blocks = await CoreCoursesDashboard.getDashboardBlocks(undefined, siteId); const dashboardEnabled = await CoreDashboardHomeHandler.isEnabledForSite(siteId);
const siteHomeEnabled = await CoreSiteHomeHomeHandler.isEnabledForSite(siteId);
return !CoreBlockDelegate.hasSupportedBlock(blocks)&& !CoreSiteHome.isAvailable(siteId); return !dashboardEnabled && !siteHomeEnabled;
} }
/** /**

View File

@ -427,13 +427,13 @@ export class CoreIframeUtilsProvider {
/** /**
* A link inside a frame was clicked. * A link inside a frame was clicked.
* *
* @param link Data of the link clicked. * @param link Link clicked, or data of the link clicked.
* @param element Frame element. * @param element Frame element.
* @param event Click event. * @param event Click event.
* @return Promise resolved when done. * @return Promise resolved when done.
*/ */
protected async linkClicked( protected async linkClicked(
link: {href: string; target?: string}, link: CoreIframeHTMLAnchorElement | {href: string; target?: string; originalHref?: string},
element?: HTMLFrameElement | HTMLObjectElement, element?: HTMLFrameElement | HTMLObjectElement,
event?: Event, event?: Event,
): Promise<void> { ): Promise<void> {
@ -443,7 +443,8 @@ export class CoreIframeUtilsProvider {
} }
const urlParts = CoreUrl.parse(link.href); const urlParts = CoreUrl.parse(link.href);
if (!link.href || !urlParts || (urlParts.protocol && urlParts.protocol == 'javascript')) { const originalHref = 'getAttribute' in link ? link.getAttribute('href') : link.originalHref;
if (!link.href || !originalHref || originalHref == '#' || !urlParts || urlParts.protocol == 'javascript') {
// Links with no URL and Javascript links are ignored. // Links with no URL and Javascript links are ignored.
return; return;
} }