Skip to content

Commit efa25b8

Browse files
committed
MOBILE-3213 courses: Check download courses on all related blocks
1 parent c485afe commit efa25b8

File tree

4 files changed

+34
-4
lines changed

4 files changed

+34
-4
lines changed

src/addon/block/recentlyaccessedcourses/components/recentlyaccessedcourses/addon-block-recentlyaccessedcourses.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<ion-item-divider>
22
<h2>{{ 'addon.block_recentlyaccessedcourses.pluginname' | translate }}</h2>
3-
<div *ngIf="downloadEnabled && courses && courses.length > 1" class="core-button-spinner" item-end>
3+
<div *ngIf="downloadCoursesEnabled && downloadEnabled && courses && courses.length > 1" class="core-button-spinner" item-end>
44
<button *ngIf="prefetchCoursesData.icon && prefetchCoursesData.icon != 'spinner'" ion-button icon-only clear color="dark" (click)="prefetchCourses()">
55
<core-icon [name]="prefetchCoursesData.icon"></core-icon>
66
</button>
@@ -13,7 +13,7 @@ <h2>{{ 'addon.block_recentlyaccessedcourses.pluginname' | translate }}</h2>
1313
<!-- List of courses. -->
1414
<div class="core-horizontal-scroll">
1515
<ng-container *ngFor="let course of courses">
16-
<core-courses-course-progress [course]="course" class="core-recentlyaccessedcourses" [showDownload]="downloadEnabled"></core-courses-course-progress>
16+
<core-courses-course-progress [course]="course" class="core-recentlyaccessedcourses" [showDownload]="downloadCourseEnabled && downloadEnabled"></core-courses-course-progress>
1717
</ng-container>
1818
</div>
1919
</core-loading>

src/addon/block/recentlyaccessedcourses/components/recentlyaccessedcourses/recentlyaccessedcourses.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseCom
3737
icon: '',
3838
badge: ''
3939
};
40+
downloadCourseEnabled: boolean;
41+
downloadCoursesEnabled: boolean;
4042

4143
protected prefetchIconsInitialized = false;
4244
protected isDestroyed;
4345
protected coursesObserver;
46+
protected updateSiteObserver;
4447
protected courseIds = [];
4548
protected fetchContentDefaultError = 'Error getting recent courses data.';
4649

@@ -58,6 +61,17 @@ export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseCom
5861
*/
5962
ngOnInit(): void {
6063

64+
// Refresh the enabled flags if enabled.
65+
this.downloadCourseEnabled = !this.coursesProvider.isDownloadCourseDisabledInSite();
66+
this.downloadCoursesEnabled = !this.coursesProvider.isDownloadCoursesDisabledInSite();
67+
68+
// Refresh the enabled flags if site is updated.
69+
this.updateSiteObserver = this.eventsProvider.on(CoreEventsProvider.SITE_UPDATED, () => {
70+
this.downloadCourseEnabled = !this.coursesProvider.isDownloadCourseDisabledInSite();
71+
this.downloadCoursesEnabled = !this.coursesProvider.isDownloadCoursesDisabledInSite();
72+
73+
}, this.sitesProvider.getCurrentSiteId());
74+
6175
this.coursesObserver = this.eventsProvider.on(CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, () => {
6276
this.refreshContent();
6377
}, this.sitesProvider.getCurrentSiteId());
@@ -154,5 +168,6 @@ export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseCom
154168
ngOnDestroy(): void {
155169
this.isDestroyed = true;
156170
this.coursesObserver && this.coursesObserver.off();
171+
this.updateSiteObserver && this.updateSiteObserver.off();
157172
}
158173
}

src/addon/block/starredcourses/components/starredcourses/addon-block-starredcourses.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<ion-item-divider>
22
<h2>{{ 'addon.block_starredcourses.pluginname' | translate }}</h2>
3-
<div *ngIf="downloadEnabled && courses && courses.length > 1" class="core-button-spinner" item-end>
3+
<div *ngIf="downloadCoursesEnabled && downloadEnabled && courses && courses.length > 1" class="core-button-spinner" item-end>
44
<button *ngIf="prefetchCoursesData.icon && prefetchCoursesData.icon != 'spinner'" ion-button icon-only clear color="dark" (click)="prefetchCourses()">
55
<core-icon [name]="prefetchCoursesData.icon"></core-icon>
66
</button>
@@ -13,7 +13,7 @@ <h2>{{ 'addon.block_starredcourses.pluginname' | translate }}</h2>
1313
<!-- List of courses. -->
1414
<div class="core-horizontal-scroll">
1515
<ng-container *ngFor="let course of courses">
16-
<core-courses-course-progress [course]="course" class="core-block_starredcourses" [showDownload]="downloadEnabled"></core-courses-course-progress>
16+
<core-courses-course-progress [course]="course" class="core-block_starredcourses" [showDownload]="downloadCourseEnabled && downloadEnabled"></core-courses-course-progress>
1717
</ng-container>
1818
</div>
1919
</core-loading>

src/addon/block/starredcourses/components/starredcourses/starredcourses.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent im
3737
icon: '',
3838
badge: ''
3939
};
40+
downloadCourseEnabled: boolean;
41+
downloadCoursesEnabled: boolean;
4042

4143
protected prefetchIconsInitialized = false;
4244
protected isDestroyed;
4345
protected coursesObserver;
46+
protected updateSiteObserver;
4447
protected courseIds = [];
4548
protected fetchContentDefaultError = 'Error getting starred courses data.';
4649

@@ -58,6 +61,17 @@ export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent im
5861
*/
5962
ngOnInit(): void {
6063

64+
// Refresh the enabled flags if enabled.
65+
this.downloadCourseEnabled = !this.coursesProvider.isDownloadCourseDisabledInSite();
66+
this.downloadCoursesEnabled = !this.coursesProvider.isDownloadCoursesDisabledInSite();
67+
68+
// Refresh the enabled flags if site is updated.
69+
this.updateSiteObserver = this.eventsProvider.on(CoreEventsProvider.SITE_UPDATED, () => {
70+
this.downloadCourseEnabled = !this.coursesProvider.isDownloadCourseDisabledInSite();
71+
this.downloadCoursesEnabled = !this.coursesProvider.isDownloadCoursesDisabledInSite();
72+
73+
}, this.sitesProvider.getCurrentSiteId());
74+
6175
this.coursesObserver = this.eventsProvider.on(CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, () => {
6276
this.refreshContent();
6377
}, this.sitesProvider.getCurrentSiteId());
@@ -154,5 +168,6 @@ export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent im
154168
ngOnDestroy(): void {
155169
this.isDestroyed = true;
156170
this.coursesObserver && this.coursesObserver.off();
171+
this.updateSiteObserver && this.updateSiteObserver.off();
157172
}
158173
}

0 commit comments

Comments
 (0)