MOBILE-4362 activity: Show only description on list mod type page
This commit is contained in:
		
							parent
							
								
									68f67ea4d5
								
							
						
					
					
						commit
						f986937424
					
				@ -80,14 +80,14 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                <!-- Description and restrictions -->
 | 
			
		||||
                <div *ngIf="module.description || module.availabilityinfo" id="activity-{{module.id}}-collapsible"
 | 
			
		||||
                <div *ngIf="module.description || (showAvailability && module.availabilityinfo)" id="activity-{{module.id}}-collapsible"
 | 
			
		||||
                    class="ion-text-wrap activity-description-availabilityinfo activity-extra" [collapsible-item]="64">
 | 
			
		||||
                    <core-format-text class="core-module-description" *ngIf="module.description" [text]="module.description"
 | 
			
		||||
                        contextLevel="module" [contextInstanceId]="module.id" [courseId]="module.course">
 | 
			
		||||
                    </core-format-text>
 | 
			
		||||
 | 
			
		||||
                    <!-- Availability info -->
 | 
			
		||||
                    <div *ngIf="module.availabilityinfo" class="core-module-availabilityinfo">
 | 
			
		||||
                    <div *ngIf="showAvailability && module.availabilityinfo" class="core-module-availabilityinfo">
 | 
			
		||||
                        <ion-icon name="fas-lock" [attr.aria-label]="'core.restricted' | translate"></ion-icon>
 | 
			
		||||
                        <core-format-text [text]="module.availabilityinfo" contextLevel="module" [contextInstanceId]="module.id"
 | 
			
		||||
                            [courseId]="module.course">
 | 
			
		||||
@ -95,7 +95,7 @@
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div *ngIf="module.handlerData.extraBadge" class="ion-text-wrap activity-extrabadges activity-extra"
 | 
			
		||||
                <div *ngIf="showExtra && module.handlerData.extraBadge" class="ion-text-wrap activity-extrabadges activity-extra"
 | 
			
		||||
                    [innerHTML]="module.handlerData.extraBadge"></div>
 | 
			
		||||
            </ion-label>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -50,6 +50,11 @@ export class CoreCourseModuleComponent implements OnInit, OnDestroy {
 | 
			
		||||
    @Input() showActivityDates = false; // Whether to show activity dates.
 | 
			
		||||
    @Input() showCompletionConditions = false; // Whether to show activity completion conditions.
 | 
			
		||||
    @Input() showLegacyCompletion?: boolean; // Whether to show module completion in the old format.
 | 
			
		||||
    @Input() showCompletion = true; // Whether to show module completion.
 | 
			
		||||
    @Input() showAvailability = true; // Whether to show module availability.
 | 
			
		||||
    @Input() showExtra = true; // Whether to show extra badges.
 | 
			
		||||
    @Input() showDownloadStatus = true; // Whether to show download status.
 | 
			
		||||
    @Input() showIndentation = true; // Whether to show indentation
 | 
			
		||||
    @Input() isLastViewed = false; // Whether it's the last module viewed in a course.
 | 
			
		||||
    @Output() completionChanged = new EventEmitter<CoreCourseModuleCompletionData>(); // Notify when module completion changes.
 | 
			
		||||
    @HostBinding('class.indented') indented = false;
 | 
			
		||||
@ -70,14 +75,24 @@ export class CoreCourseModuleComponent implements OnInit, OnDestroy {
 | 
			
		||||
     */
 | 
			
		||||
    async ngOnInit(): Promise<void> {
 | 
			
		||||
        const site = CoreSites.getRequiredCurrentSite();
 | 
			
		||||
        const enableIndentation = await CoreCourse.isCourseIndentationEnabled(site, this.module.course);
 | 
			
		||||
 | 
			
		||||
        this.indented = enableIndentation && this.module.indent > 0;
 | 
			
		||||
        if (this.showIndentation && this.module.indent > 0) {
 | 
			
		||||
            this.indented = await CoreCourse.isCourseIndentationEnabled(site, this.module.course);
 | 
			
		||||
        } else {
 | 
			
		||||
            this.indented = false;
 | 
			
		||||
        }
 | 
			
		||||
        this.modNameTranslated = CoreCourse.translateModuleName(this.module.modname, this.module.modplural);
 | 
			
		||||
        this.showLegacyCompletion = this.showLegacyCompletion ??
 | 
			
		||||
            CoreConstants.CONFIG.uselegacycompletion ??
 | 
			
		||||
            !site.isVersionGreaterEqualThan('3.11');
 | 
			
		||||
        this.checkShowCompletion();
 | 
			
		||||
        if (this.showCompletion) {
 | 
			
		||||
            this.showLegacyCompletion = this.showLegacyCompletion ??
 | 
			
		||||
                CoreConstants.CONFIG.uselegacycompletion ??
 | 
			
		||||
                !site.isVersionGreaterEqualThan('3.11');
 | 
			
		||||
            this.checkShowCompletion();
 | 
			
		||||
        } else {
 | 
			
		||||
            this.showLegacyCompletion = false;
 | 
			
		||||
            this.showCompletionConditions = false;
 | 
			
		||||
            this.showManualCompletion = false;
 | 
			
		||||
            this.hasCompletion = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!this.module.handlerData) {
 | 
			
		||||
            return;
 | 
			
		||||
@ -86,7 +101,7 @@ export class CoreCourseModuleComponent implements OnInit, OnDestroy {
 | 
			
		||||
        this.module.handlerData.a11yTitle = this.module.handlerData.a11yTitle ?? this.module.handlerData.title;
 | 
			
		||||
        this.moduleHasView = CoreCourse.moduleHasView(this.module);
 | 
			
		||||
 | 
			
		||||
        if (this.module.handlerData?.showDownloadButton) {
 | 
			
		||||
        if (this.showDownloadStatus && this.module.handlerData.showDownloadButton) {
 | 
			
		||||
            const status = await CoreCourseModulePrefetchDelegate.getModuleStatus(this.module, this.module.course);
 | 
			
		||||
            this.updateModuleStatus(status);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -18,8 +18,17 @@
 | 
			
		||||
 | 
			
		||||
        <ion-list class="core-course-module-list-wrapper">
 | 
			
		||||
            <ng-container *ngFor="let section of sections">
 | 
			
		||||
                <ion-item-divider class="course-section ion-text-wrap" *ngIf="section.name">
 | 
			
		||||
                    <ion-label>
 | 
			
		||||
                        <h2>
 | 
			
		||||
                            <core-format-text [text]="section.name" contextLevel="course" [contextInstanceId]="courseId">
 | 
			
		||||
                            </core-format-text>
 | 
			
		||||
                        </h2>
 | 
			
		||||
                    </ion-label>
 | 
			
		||||
                </ion-item-divider>
 | 
			
		||||
                <ng-container *ngFor="let module of section.modules">
 | 
			
		||||
                    <core-course-module *ngIf="module.visibleoncoursepage !== 0" [module]="module" [section]="section">
 | 
			
		||||
                    <core-course-module [module]="module" [section]="section" [showActivityDates]="false" [showAvailability]="false"
 | 
			
		||||
                        [showExtra]="false" [showDownloadStatus]="false" [showCompletion]="false" [showIndentation]="false">
 | 
			
		||||
                    </core-course-module>
 | 
			
		||||
                </ng-container>
 | 
			
		||||
            </ng-container>
 | 
			
		||||
 | 
			
		||||
@ -37,7 +37,7 @@ export class CoreCourseListModTypePage implements OnInit {
 | 
			
		||||
    sections: CoreCourseSection[] = [];
 | 
			
		||||
    title = '';
 | 
			
		||||
    loaded = false;
 | 
			
		||||
    courseId?: number;
 | 
			
		||||
    courseId = 0;
 | 
			
		||||
 | 
			
		||||
    protected modName?: string;
 | 
			
		||||
    protected archetypes: Record<string, number> = {}; // To speed up the check of modules.
 | 
			
		||||
@ -64,9 +64,16 @@ export class CoreCourseListModTypePage implements OnInit {
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    async ngOnInit(): Promise<void> {
 | 
			
		||||
        this.title = CoreNavigator.getRouteParam('title') || '';
 | 
			
		||||
        this.courseId = CoreNavigator.getRouteNumberParam('courseId');
 | 
			
		||||
        this.modName = CoreNavigator.getRouteParam('modName');
 | 
			
		||||
        try {
 | 
			
		||||
            this.title = CoreNavigator.getRouteParam('title') || '';
 | 
			
		||||
            this.courseId = CoreNavigator.getRequiredRouteParam('courseId');
 | 
			
		||||
            this.modName = CoreNavigator.getRequiredRouteParam('modName');
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
            CoreDomUtils.showErrorModal(error);
 | 
			
		||||
            CoreNavigator.back();
 | 
			
		||||
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            await this.fetchData();
 | 
			
		||||
@ -95,7 +102,9 @@ export class CoreCourseListModTypePage implements OnInit {
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                section.modules = section.modules.filter((mod) => {
 | 
			
		||||
                    if (!CoreCourseHelper.canUserViewModule(mod, section) || !CoreCourse.moduleHasView(mod)) {
 | 
			
		||||
                    if (!CoreCourseHelper.canUserViewModule(mod, section) ||
 | 
			
		||||
                        !CoreCourse.moduleHasView(mod) ||
 | 
			
		||||
                        mod.visibleoncoursepage === 0) {
 | 
			
		||||
                        // Ignore this module.
 | 
			
		||||
                        return false;
 | 
			
		||||
                    }
 | 
			
		||||
@ -110,11 +119,11 @@ export class CoreCourseListModTypePage implements OnInit {
 | 
			
		||||
                            );
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        if (this.archetypes[mod.modname] == CoreConstants.MOD_ARCHETYPE_RESOURCE) {
 | 
			
		||||
                        if (this.archetypes[mod.modname] === CoreConstants.MOD_ARCHETYPE_RESOURCE) {
 | 
			
		||||
                            return true;
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                    } else if (mod.modname == this.modName) {
 | 
			
		||||
                    } else if (mod.modname === this.modName) {
 | 
			
		||||
                        return true;
 | 
			
		||||
                    }
 | 
			
		||||
                });
 | 
			
		||||
@ -137,7 +146,7 @@ export class CoreCourseListModTypePage implements OnInit {
 | 
			
		||||
     * @returns Promise resolved when done.
 | 
			
		||||
     */
 | 
			
		||||
    async refreshData(refresher: IonRefresher): Promise<void> {
 | 
			
		||||
        await CoreUtils.ignoreErrors(CoreCourse.invalidateSections(this.courseId || 0));
 | 
			
		||||
        await CoreUtils.ignoreErrors(CoreCourse.invalidateSections(this.courseId));
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            await this.fetchData();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user