From fec29ecca12e8d42d030916ea9ad2f062c8c1aaf Mon Sep 17 00:00:00 2001 From: Dani Palou <dani@moodle.com> Date: Mon, 4 Dec 2023 09:02:13 +0100 Subject: [PATCH] MOBILE-4479 siteplugins: Only add default module-info if needed --- .../module-index/core-siteplugins-module-index.html | 3 ++- .../siteplugins/components/module-index/module-index.ts | 2 ++ .../siteplugins/components/plugin-content/plugin-content.ts | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/core/features/siteplugins/components/module-index/core-siteplugins-module-index.html b/src/core/features/siteplugins/components/module-index/core-siteplugins-module-index.html index 7eb7bd09a..b5cb3a882 100644 --- a/src/core/features/siteplugins/components/module-index/core-siteplugins-module-index.html +++ b/src/core/features/siteplugins/components/module-index/core-siteplugins-module-index.html @@ -6,7 +6,8 @@ </core-navbar-buttons> <!-- Activity info. --> -<core-course-module-info [module]="module" [courseId]="courseId" [component]="component" [componentId]="module.id" /> +<core-course-module-info *ngIf="addDefaultModuleInfo" [module]="module" [courseId]="courseId" [component]="component" + [componentId]="module.id" /> <core-site-plugins-plugin-content *ngIf="component && method" [component]="component" [method]="method" [args]="args" [initResult]="initResult" [data]="jsData" [pageTitle]="pageTitle" [preSets]="preSets" (onContentLoaded)="contentLoaded($event)" diff --git a/src/core/features/siteplugins/components/module-index/module-index.ts b/src/core/features/siteplugins/components/module-index/module-index.ts index e7464fca3..f7e5a0180 100644 --- a/src/core/features/siteplugins/components/module-index/module-index.ts +++ b/src/core/features/siteplugins/components/module-index/module-index.ts @@ -58,6 +58,7 @@ export class CoreSitePluginsModuleIndexComponent implements OnInit, OnDestroy, C description?: string; collapsibleFooterAppearOnBottom = true; + addDefaultModuleInfo = false; displayOpenInBrowser = true; displayDescription = true; @@ -133,6 +134,7 @@ export class CoreSitePluginsModuleIndexComponent implements OnInit, OnDestroy, C * Function called when the data of the site plugin content is loaded. */ contentLoaded(data: CoreSitePluginsPluginContentLoadedData): void { + this.addDefaultModuleInfo = !data.content.includes('<core-course-module-info'); if (data.success) { CoreCourse.storeModuleViewed(this.courseId, this.module.id, { sectionId: this.module.section, diff --git a/src/core/features/siteplugins/components/plugin-content/plugin-content.ts b/src/core/features/siteplugins/components/plugin-content/plugin-content.ts index a2a2ad5a3..9e215702d 100644 --- a/src/core/features/siteplugins/components/plugin-content/plugin-content.ts +++ b/src/core/features/siteplugins/components/plugin-content/plugin-content.ts @@ -142,11 +142,11 @@ export class CoreSitePluginsPluginContentComponent implements OnInit, DoCheck { this.updateModuleCourseContent(cmId, alreadyFetched); this.jsData.updateCachedContent = () => this.updateCachedContent(); - this.onContentLoaded.emit({ refresh: !!refresh, success: true }); + this.onContentLoaded.emit({ refresh: !!refresh, success: true, content: this.content }); } catch (error) { // Make it think it's loaded - otherwise it sticks on 'loading' and stops navigation working. this.content = '<div></div>'; - this.onContentLoaded.emit({ refresh: !!refresh, success: false }); + this.onContentLoaded.emit({ refresh: !!refresh, success: false, content: this.content }); CoreDomUtils.showErrorModalDefault(error, 'core.errorloadingcontent', true); } finally { @@ -282,4 +282,5 @@ export class CoreSitePluginsPluginContentComponent implements OnInit, DoCheck { export type CoreSitePluginsPluginContentLoadedData = { refresh: boolean; success: boolean; + content: string; };