forked from CIT/Vmeda.Online
		
	MOBILE-3213 courses: Check download courses on all related blocks
This commit is contained in:
		
							parent
							
								
									c485afee02
								
							
						
					
					
						commit
						efa25b857c
					
				@ -1,6 +1,6 @@
 | 
				
			|||||||
<ion-item-divider>
 | 
					<ion-item-divider>
 | 
				
			||||||
    <h2>{{ 'addon.block_recentlyaccessedcourses.pluginname' | translate }}</h2>
 | 
					    <h2>{{ 'addon.block_recentlyaccessedcourses.pluginname' | translate }}</h2>
 | 
				
			||||||
    <div *ngIf="downloadEnabled && courses && courses.length > 1" class="core-button-spinner" item-end>
 | 
					    <div *ngIf="downloadCoursesEnabled && downloadEnabled && courses && courses.length > 1" class="core-button-spinner" item-end>
 | 
				
			||||||
        <button *ngIf="prefetchCoursesData.icon && prefetchCoursesData.icon != 'spinner'" ion-button icon-only clear color="dark" (click)="prefetchCourses()">
 | 
					        <button *ngIf="prefetchCoursesData.icon && prefetchCoursesData.icon != 'spinner'" ion-button icon-only clear color="dark" (click)="prefetchCourses()">
 | 
				
			||||||
            <core-icon [name]="prefetchCoursesData.icon"></core-icon>
 | 
					            <core-icon [name]="prefetchCoursesData.icon"></core-icon>
 | 
				
			||||||
        </button>
 | 
					        </button>
 | 
				
			||||||
@ -13,7 +13,7 @@
 | 
				
			|||||||
    <!-- List of courses. -->
 | 
					    <!-- List of courses. -->
 | 
				
			||||||
     <div class="core-horizontal-scroll">
 | 
					     <div class="core-horizontal-scroll">
 | 
				
			||||||
        <ng-container *ngFor="let course of courses">
 | 
					        <ng-container *ngFor="let course of courses">
 | 
				
			||||||
            <core-courses-course-progress [course]="course" class="core-recentlyaccessedcourses" [showDownload]="downloadEnabled"></core-courses-course-progress>
 | 
					            <core-courses-course-progress [course]="course" class="core-recentlyaccessedcourses" [showDownload]="downloadCourseEnabled && downloadEnabled"></core-courses-course-progress>
 | 
				
			||||||
        </ng-container>
 | 
					        </ng-container>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
</core-loading>
 | 
					</core-loading>
 | 
				
			||||||
 | 
				
			|||||||
@ -37,10 +37,13 @@ export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseCom
 | 
				
			|||||||
        icon: '',
 | 
					        icon: '',
 | 
				
			||||||
        badge: ''
 | 
					        badge: ''
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    downloadCourseEnabled: boolean;
 | 
				
			||||||
 | 
					    downloadCoursesEnabled: boolean;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected prefetchIconsInitialized = false;
 | 
					    protected prefetchIconsInitialized = false;
 | 
				
			||||||
    protected isDestroyed;
 | 
					    protected isDestroyed;
 | 
				
			||||||
    protected coursesObserver;
 | 
					    protected coursesObserver;
 | 
				
			||||||
 | 
					    protected updateSiteObserver;
 | 
				
			||||||
    protected courseIds = [];
 | 
					    protected courseIds = [];
 | 
				
			||||||
    protected fetchContentDefaultError = 'Error getting recent courses data.';
 | 
					    protected fetchContentDefaultError = 'Error getting recent courses data.';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -58,6 +61,17 @@ export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseCom
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    ngOnInit(): void {
 | 
					    ngOnInit(): void {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Refresh the enabled flags if enabled.
 | 
				
			||||||
 | 
					        this.downloadCourseEnabled = !this.coursesProvider.isDownloadCourseDisabledInSite();
 | 
				
			||||||
 | 
					        this.downloadCoursesEnabled = !this.coursesProvider.isDownloadCoursesDisabledInSite();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Refresh the enabled flags if site is updated.
 | 
				
			||||||
 | 
					        this.updateSiteObserver = this.eventsProvider.on(CoreEventsProvider.SITE_UPDATED, () => {
 | 
				
			||||||
 | 
					            this.downloadCourseEnabled = !this.coursesProvider.isDownloadCourseDisabledInSite();
 | 
				
			||||||
 | 
					            this.downloadCoursesEnabled = !this.coursesProvider.isDownloadCoursesDisabledInSite();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }, this.sitesProvider.getCurrentSiteId());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.coursesObserver = this.eventsProvider.on(CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, () => {
 | 
					        this.coursesObserver = this.eventsProvider.on(CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, () => {
 | 
				
			||||||
            this.refreshContent();
 | 
					            this.refreshContent();
 | 
				
			||||||
        }, this.sitesProvider.getCurrentSiteId());
 | 
					        }, this.sitesProvider.getCurrentSiteId());
 | 
				
			||||||
@ -154,5 +168,6 @@ export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseCom
 | 
				
			|||||||
    ngOnDestroy(): void {
 | 
					    ngOnDestroy(): void {
 | 
				
			||||||
        this.isDestroyed = true;
 | 
					        this.isDestroyed = true;
 | 
				
			||||||
        this.coursesObserver && this.coursesObserver.off();
 | 
					        this.coursesObserver && this.coursesObserver.off();
 | 
				
			||||||
 | 
					        this.updateSiteObserver && this.updateSiteObserver.off();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
<ion-item-divider>
 | 
					<ion-item-divider>
 | 
				
			||||||
    <h2>{{ 'addon.block_starredcourses.pluginname' | translate }}</h2>
 | 
					    <h2>{{ 'addon.block_starredcourses.pluginname' | translate }}</h2>
 | 
				
			||||||
    <div *ngIf="downloadEnabled && courses && courses.length > 1" class="core-button-spinner" item-end>
 | 
					    <div *ngIf="downloadCoursesEnabled && downloadEnabled && courses && courses.length > 1" class="core-button-spinner" item-end>
 | 
				
			||||||
        <button *ngIf="prefetchCoursesData.icon && prefetchCoursesData.icon != 'spinner'" ion-button icon-only clear color="dark" (click)="prefetchCourses()">
 | 
					        <button *ngIf="prefetchCoursesData.icon && prefetchCoursesData.icon != 'spinner'" ion-button icon-only clear color="dark" (click)="prefetchCourses()">
 | 
				
			||||||
            <core-icon [name]="prefetchCoursesData.icon"></core-icon>
 | 
					            <core-icon [name]="prefetchCoursesData.icon"></core-icon>
 | 
				
			||||||
        </button>
 | 
					        </button>
 | 
				
			||||||
@ -13,7 +13,7 @@
 | 
				
			|||||||
    <!-- List of courses. -->
 | 
					    <!-- List of courses. -->
 | 
				
			||||||
    <div class="core-horizontal-scroll">
 | 
					    <div class="core-horizontal-scroll">
 | 
				
			||||||
        <ng-container *ngFor="let course of courses">
 | 
					        <ng-container *ngFor="let course of courses">
 | 
				
			||||||
            <core-courses-course-progress [course]="course" class="core-block_starredcourses" [showDownload]="downloadEnabled"></core-courses-course-progress>
 | 
					            <core-courses-course-progress [course]="course" class="core-block_starredcourses" [showDownload]="downloadCourseEnabled && downloadEnabled"></core-courses-course-progress>
 | 
				
			||||||
        </ng-container>
 | 
					        </ng-container>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
</core-loading>
 | 
					</core-loading>
 | 
				
			||||||
 | 
				
			|||||||
@ -37,10 +37,13 @@ export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent im
 | 
				
			|||||||
        icon: '',
 | 
					        icon: '',
 | 
				
			||||||
        badge: ''
 | 
					        badge: ''
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    downloadCourseEnabled: boolean;
 | 
				
			||||||
 | 
					    downloadCoursesEnabled: boolean;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected prefetchIconsInitialized = false;
 | 
					    protected prefetchIconsInitialized = false;
 | 
				
			||||||
    protected isDestroyed;
 | 
					    protected isDestroyed;
 | 
				
			||||||
    protected coursesObserver;
 | 
					    protected coursesObserver;
 | 
				
			||||||
 | 
					    protected updateSiteObserver;
 | 
				
			||||||
    protected courseIds = [];
 | 
					    protected courseIds = [];
 | 
				
			||||||
    protected fetchContentDefaultError = 'Error getting starred courses data.';
 | 
					    protected fetchContentDefaultError = 'Error getting starred courses data.';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -58,6 +61,17 @@ export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent im
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    ngOnInit(): void {
 | 
					    ngOnInit(): void {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Refresh the enabled flags if enabled.
 | 
				
			||||||
 | 
					        this.downloadCourseEnabled = !this.coursesProvider.isDownloadCourseDisabledInSite();
 | 
				
			||||||
 | 
					        this.downloadCoursesEnabled = !this.coursesProvider.isDownloadCoursesDisabledInSite();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Refresh the enabled flags if site is updated.
 | 
				
			||||||
 | 
					        this.updateSiteObserver = this.eventsProvider.on(CoreEventsProvider.SITE_UPDATED, () => {
 | 
				
			||||||
 | 
					            this.downloadCourseEnabled = !this.coursesProvider.isDownloadCourseDisabledInSite();
 | 
				
			||||||
 | 
					            this.downloadCoursesEnabled = !this.coursesProvider.isDownloadCoursesDisabledInSite();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }, this.sitesProvider.getCurrentSiteId());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.coursesObserver = this.eventsProvider.on(CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, () => {
 | 
					        this.coursesObserver = this.eventsProvider.on(CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, () => {
 | 
				
			||||||
            this.refreshContent();
 | 
					            this.refreshContent();
 | 
				
			||||||
        }, this.sitesProvider.getCurrentSiteId());
 | 
					        }, this.sitesProvider.getCurrentSiteId());
 | 
				
			||||||
@ -154,5 +168,6 @@ export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent im
 | 
				
			|||||||
    ngOnDestroy(): void {
 | 
					    ngOnDestroy(): void {
 | 
				
			||||||
        this.isDestroyed = true;
 | 
					        this.isDestroyed = true;
 | 
				
			||||||
        this.coursesObserver && this.coursesObserver.off();
 | 
					        this.coursesObserver && this.coursesObserver.off();
 | 
				
			||||||
 | 
					        this.updateSiteObserver && this.updateSiteObserver.off();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user