MOBILE-4479 siteplugins: Only add default module-info if needed

main
Dani Palou 2023-12-04 09:02:13 +01:00
parent 1c967b7813
commit fec29ecca1
3 changed files with 7 additions and 3 deletions

View File

@ -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)"

View File

@ -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,

View File

@ -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;
};