forked from EVOgeek/Vmeda.Online
		
	MOBILE-3954 blocks: Remove download enable switch from block pages
This commit is contained in:
		
							parent
							
								
									c59ca185b6
								
							
						
					
					
						commit
						94fbd9e0e2
					
				| @ -4,7 +4,7 @@ | |||||||
|     </ion-label> |     </ion-label> | ||||||
|     <div slot="end" class="flex-row"> |     <div slot="end" class="flex-row"> | ||||||
|         <!-- Download all courses. --> |         <!-- Download all courses. --> | ||||||
|         <div *ngIf="downloadCoursesEnabled && downloadEnabled && filteredCourses.length > 1" class="core-button-spinner"> |         <div *ngIf="downloadCoursesEnabled && filteredCourses.length > 1" class="core-button-spinner"> | ||||||
|             <ion-button *ngIf="!prefetchCoursesData.loading" fill="clear" color="dark" (click)="prefetchCourses()" |             <ion-button *ngIf="!prefetchCoursesData.loading" fill="clear" color="dark" (click)="prefetchCourses()" | ||||||
|                 [attr.aria-label]="prefetchCoursesData.statusTranslatable | translate"> |                 [attr.aria-label]="prefetchCoursesData.statusTranslatable | translate"> | ||||||
|                 <ion-icon [name]="prefetchCoursesData.icon" slot="icon-only" aria-hidden="true"> |                 <ion-icon [name]="prefetchCoursesData.icon" slot="icon-only" aria-hidden="true"> | ||||||
| @ -77,8 +77,8 @@ | |||||||
|             <ion-row class="ion-no-padding"> |             <ion-row class="ion-no-padding"> | ||||||
|                 <ion-col *ngFor="let course of filteredCourses" class="ion-no-padding" size="12" size-sm="6" size-md="6" size-lg="4" |                 <ion-col *ngFor="let course of filteredCourses" class="ion-no-padding" size="12" size-sm="6" size-md="6" size-lg="4" | ||||||
|                     size-xl="3"> |                     size-xl="3"> | ||||||
|                     <core-courses-course-list-item [course]="course" class="core-courseoverview" |                     <core-courses-course-list-item [course]="course" class="core-courseoverview" [showDownload]="downloadCourseEnabled" | ||||||
|                         [showDownload]="downloadCourseEnabled && downloadEnabled" [layout]="layouts.selected"> |                         [layout]="layouts.selected"> | ||||||
|                     </core-courses-course-list-item> |                     </core-courses-course-list-item> | ||||||
|                 </ion-col> |                 </ion-col> | ||||||
|             </ion-row> |             </ion-row> | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ | |||||||
| // See the License for the specific language governing permissions and
 | // See the License for the specific language governing permissions and
 | ||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, Input, OnDestroy, OnChanges, SimpleChange } from '@angular/core'; | import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||||
| import { ModalOptions } from '@ionic/core'; | import { ModalOptions } from '@ionic/core'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { CoreTimeUtils } from '@services/utils/time'; | import { CoreTimeUtils } from '@services/utils/time'; | ||||||
| @ -40,9 +40,7 @@ const FILTER_PRIORITY: AddonBlockMyOverviewTimeFilters[] = ['all', 'inprogress', | |||||||
|     selector: 'addon-block-myoverview', |     selector: 'addon-block-myoverview', | ||||||
|     templateUrl: 'addon-block-myoverview.html', |     templateUrl: 'addon-block-myoverview.html', | ||||||
| }) | }) | ||||||
| export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implements OnInit, OnChanges, OnDestroy { | export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implements OnInit, OnDestroy { | ||||||
| 
 |  | ||||||
|     @Input() downloadEnabled = false; |  | ||||||
| 
 | 
 | ||||||
|     filteredCourses: CoreEnrolledCourseDataWithOptions[] = []; |     filteredCourses: CoreEnrolledCourseDataWithOptions[] = []; | ||||||
| 
 | 
 | ||||||
| @ -197,16 +195,6 @@ export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implem | |||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |  | ||||||
|      * @inheritdoc |  | ||||||
|      */ |  | ||||||
|     ngOnChanges(changes: {[name: string]: SimpleChange}): void { |  | ||||||
|         if (changes.downloadEnabled && !changes.downloadEnabled.previousValue && this.downloadEnabled && this.loaded) { |  | ||||||
|             // Download all courses is enabled now, initialize it.
 |  | ||||||
|             this.initPrefetchCoursesIcons(); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     /** |     /** | ||||||
|      * @inheritdoc |      * @inheritdoc | ||||||
|      */ |      */ | ||||||
| @ -431,7 +419,7 @@ export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implem | |||||||
|      * @return Promise resolved when done. |      * @return Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async initPrefetchCoursesIcons(): Promise<void> { |     async initPrefetchCoursesIcons(): Promise<void> { | ||||||
|         if (this.prefetchIconsInitialized || !this.downloadEnabled) { |         if (this.prefetchIconsInitialized) { | ||||||
|             // Already initialized.
 |             // Already initialized.
 | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -16,8 +16,8 @@ | |||||||
|         <div (onResize)="scrollControls.updateScrollPosition()" class="flex-row"> |         <div (onResize)="scrollControls.updateScrollPosition()" class="flex-row"> | ||||||
|             <div class="safe-area-pseudo-padding-start"></div> |             <div class="safe-area-pseudo-padding-start"></div> | ||||||
|             <ng-container *ngFor="let course of courses"> |             <ng-container *ngFor="let course of courses"> | ||||||
|                 <core-courses-course-list-item [course]="course" class="core-recentlyaccessedcourses" layout="summarycard" |                 <core-courses-course-list-item [course]="course" class="core-recentlyaccessedcourses" layout="summarycard"> | ||||||
|                     [showDownload]="downloadCourseEnabled && downloadEnabled"></core-courses-course-list-item> |                 </core-courses-course-list-item> | ||||||
|             </ng-container> |             </ng-container> | ||||||
|             <div class="safe-area-pseudo-padding-end"></div> |             <div class="safe-area-pseudo-padding-end"></div> | ||||||
|         </div> |         </div> | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ | |||||||
| // See the License for the specific language governing permissions and
 | // See the License for the specific language governing permissions and
 | ||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, OnDestroy, Input } from '@angular/core'; | import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { | import { | ||||||
| @ -41,17 +41,13 @@ import { CoreSite } from '@classes/site'; | |||||||
| }) | }) | ||||||
| export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseComponent implements OnInit, OnDestroy { | export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseComponent implements OnInit, OnDestroy { | ||||||
| 
 | 
 | ||||||
|     @Input() downloadEnabled = false; |  | ||||||
| 
 |  | ||||||
|     courses: AddonBlockRecentlyAccessedCourse[] = []; |     courses: AddonBlockRecentlyAccessedCourse[] = []; | ||||||
| 
 | 
 | ||||||
|     downloadCourseEnabled = false; |  | ||||||
|     scrollElementId!: string; |     scrollElementId!: string; | ||||||
| 
 | 
 | ||||||
|     protected site!: CoreSite; |     protected site!: CoreSite; | ||||||
|     protected isDestroyed = false; |     protected isDestroyed = false; | ||||||
|     protected coursesObserver?: CoreEventObserver; |     protected coursesObserver?: CoreEventObserver; | ||||||
|     protected updateSiteObserver?: CoreEventObserver; |  | ||||||
|     protected fetchContentDefaultError = 'Error getting recent courses data.'; |     protected fetchContentDefaultError = 'Error getting recent courses data.'; | ||||||
| 
 | 
 | ||||||
|     constructor() { |     constructor() { | ||||||
| @ -69,15 +65,6 @@ export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseCom | |||||||
| 
 | 
 | ||||||
|         this.scrollElementId = `addon-block-recentlyaccessedcourses-scroll-${scrollId}`; |         this.scrollElementId = `addon-block-recentlyaccessedcourses-scroll-${scrollId}`; | ||||||
| 
 | 
 | ||||||
|         // Refresh the enabled flags if enabled.
 |  | ||||||
|         this.downloadCourseEnabled = !CoreCourses.isDownloadCourseDisabledInSite(); |  | ||||||
| 
 |  | ||||||
|         // Refresh the enabled flags if site is updated.
 |  | ||||||
|         this.updateSiteObserver = CoreEvents.on(CoreEvents.SITE_UPDATED, () => { |  | ||||||
|             this.downloadCourseEnabled = !CoreCourses.isDownloadCourseDisabledInSite(); |  | ||||||
| 
 |  | ||||||
|         }, this.site.getId()); |  | ||||||
| 
 |  | ||||||
|         this.coursesObserver = CoreEvents.on( |         this.coursesObserver = CoreEvents.on( | ||||||
|             CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, |             CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, | ||||||
|             (data) => { |             (data) => { | ||||||
| @ -208,7 +195,6 @@ export class AddonBlockRecentlyAccessedCoursesComponent extends CoreBlockBaseCom | |||||||
|     ngOnDestroy(): void { |     ngOnDestroy(): void { | ||||||
|         this.isDestroyed = true; |         this.isDestroyed = true; | ||||||
|         this.coursesObserver?.off(); |         this.coursesObserver?.off(); | ||||||
|         this.updateSiteObserver?.off(); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ | |||||||
| // See the License for the specific language governing permissions and
 | // See the License for the specific language governing permissions and
 | ||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, Input } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreCourse } from '@features/course/services/course'; | import { CoreCourse } from '@features/course/services/course'; | ||||||
| import { CoreCourseHelper, CoreCourseSection } from '@features/course/services/course-helper'; | import { CoreCourseHelper, CoreCourseSection } from '@features/course/services/course-helper'; | ||||||
| @ -29,8 +29,6 @@ import { CoreBlockBaseComponent } from '@features/block/classes/base-block-compo | |||||||
| }) | }) | ||||||
| export class AddonBlockSiteMainMenuComponent extends CoreBlockBaseComponent implements OnInit { | export class AddonBlockSiteMainMenuComponent extends CoreBlockBaseComponent implements OnInit { | ||||||
| 
 | 
 | ||||||
|     @Input() downloadEnabled = false; |  | ||||||
| 
 |  | ||||||
|     component = 'AddonBlockSiteMainMenu'; |     component = 'AddonBlockSiteMainMenu'; | ||||||
|     mainMenuBlock?: CoreCourseSection; |     mainMenuBlock?: CoreCourseSection; | ||||||
|     siteHomeId = 1; |     siteHomeId = 1; | ||||||
|  | |||||||
| @ -16,8 +16,8 @@ | |||||||
|         <div (onResize)="scrollControls.updateScrollPosition()" class="flex-row"> |         <div (onResize)="scrollControls.updateScrollPosition()" class="flex-row"> | ||||||
|             <div class="safe-area-pseudo-padding-start"></div> |             <div class="safe-area-pseudo-padding-start"></div> | ||||||
|             <ng-container *ngFor="let course of courses"> |             <ng-container *ngFor="let course of courses"> | ||||||
|                 <core-courses-course-list-item [course]="course" class="core-block_starredcourses" layout="summarycard" |                 <core-courses-course-list-item [course]="course" class="core-block_starredcourses" layout="summarycard"> | ||||||
|                     [showDownload]="downloadCourseEnabled && downloadEnabled"></core-courses-course-list-item> |                 </core-courses-course-list-item> | ||||||
|             </ng-container> |             </ng-container> | ||||||
|             <div class="safe-area-pseudo-padding-end"></div> |             <div class="safe-area-pseudo-padding-end"></div> | ||||||
|         </div> |         </div> | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ | |||||||
| // See the License for the specific language governing permissions and
 | // See the License for the specific language governing permissions and
 | ||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, OnDestroy, Input } from '@angular/core'; | import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreCoursesProvider, CoreCoursesMyCoursesUpdatedEventData, CoreCourses } from '@features/courses/services/courses'; | import { CoreCoursesProvider, CoreCoursesMyCoursesUpdatedEventData, CoreCourses } from '@features/courses/services/courses'; | ||||||
| @ -36,17 +36,13 @@ import { AddonBlockStarredCourse, AddonBlockStarredCourses } from '../../service | |||||||
| }) | }) | ||||||
| export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent implements OnInit, OnDestroy { | export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent implements OnInit, OnDestroy { | ||||||
| 
 | 
 | ||||||
|     @Input() downloadEnabled = false; |  | ||||||
| 
 |  | ||||||
|     courses: AddonBlockStarredCoursesCourse[] = []; |     courses: AddonBlockStarredCoursesCourse[] = []; | ||||||
| 
 | 
 | ||||||
|     downloadCourseEnabled = false; |  | ||||||
|     scrollElementId!: string; |     scrollElementId!: string; | ||||||
| 
 | 
 | ||||||
|     protected site: CoreSite; |     protected site: CoreSite; | ||||||
|     protected isDestroyed = false; |     protected isDestroyed = false; | ||||||
|     protected coursesObserver?: CoreEventObserver; |     protected coursesObserver?: CoreEventObserver; | ||||||
|     protected updateSiteObserver?: CoreEventObserver; |  | ||||||
|     protected fetchContentDefaultError = 'Error getting starred courses data.'; |     protected fetchContentDefaultError = 'Error getting starred courses data.'; | ||||||
| 
 | 
 | ||||||
|     constructor() { |     constructor() { | ||||||
| @ -64,14 +60,6 @@ export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent im | |||||||
| 
 | 
 | ||||||
|         this.scrollElementId = `addon-block-starredcourses-scroll-${scrollId}`; |         this.scrollElementId = `addon-block-starredcourses-scroll-${scrollId}`; | ||||||
| 
 | 
 | ||||||
|         // Refresh the enabled flags if enabled.
 |  | ||||||
|         this.downloadCourseEnabled = !CoreCourses.isDownloadCourseDisabledInSite(); |  | ||||||
| 
 |  | ||||||
|         // Refresh the enabled flags if site is updated.
 |  | ||||||
|         this.updateSiteObserver = CoreEvents.on(CoreEvents.SITE_UPDATED, () => { |  | ||||||
|             this.downloadCourseEnabled = !CoreCourses.isDownloadCourseDisabledInSite(); |  | ||||||
|         }, CoreSites.getCurrentSiteId()); |  | ||||||
| 
 |  | ||||||
|         this.coursesObserver = CoreEvents.on( |         this.coursesObserver = CoreEvents.on( | ||||||
|             CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, |             CoreCoursesProvider.EVENT_MY_COURSES_UPDATED, | ||||||
|             (data) => { |             (data) => { | ||||||
| @ -194,7 +182,6 @@ export class AddonBlockStarredCoursesComponent extends CoreBlockBaseComponent im | |||||||
|     ngOnDestroy(): void { |     ngOnDestroy(): void { | ||||||
|         this.isDestroyed = true; |         this.isDestroyed = true; | ||||||
|         this.coursesObserver?.off(); |         this.coursesObserver?.off(); | ||||||
|         this.updateSiteObserver?.off(); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,11 +2,6 @@ | |||||||
|     <ion-button *ngIf="searchEnabled" (click)="openSearch()" [attr.aria-label]="'core.courses.searchcourses' | translate"> |     <ion-button *ngIf="searchEnabled" (click)="openSearch()" [attr.aria-label]="'core.courses.searchcourses' | translate"> | ||||||
|         <ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon> |         <ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon> | ||||||
|     </ion-button> |     </ion-button> | ||||||
|     <core-context-menu> |  | ||||||
|         <core-context-menu-item *ngIf="(downloadCourseEnabled || downloadCoursesEnabled)" [priority]="1000" |  | ||||||
|             [content]="'core.settings.showdownloadoptions' | translate" (action)="switchDownload()" iconAction="toggle" |  | ||||||
|             [(toggle)]="downloadEnabled"></core-context-menu-item> |  | ||||||
|     </core-context-menu> |  | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| <ion-content> | <ion-content> | ||||||
|     <ion-refresher slot="fixed" [disabled]="!loaded" (ionRefresh)="refreshDashboard($event.target)"> |     <ion-refresher slot="fixed" [disabled]="!loaded" (ionRefresh)="refreshDashboard($event.target)"> | ||||||
| @ -16,8 +11,7 @@ | |||||||
|     <core-loading [hideUntil]="loaded"> |     <core-loading [hideUntil]="loaded"> | ||||||
|         <ion-list> |         <ion-list> | ||||||
|             <ng-container *ngFor="let block of blocks"> |             <ng-container *ngFor="let block of blocks"> | ||||||
|                 <core-block *ngIf="block.visible" [block]="block" contextLevel="user" [instanceId]="userId" |                 <core-block *ngIf="block.visible" [block]="block" contextLevel="user" [instanceId]="userId"></core-block> | ||||||
|                     [extraData]="{'downloadEnabled': downloadEnabled}"></core-block> |  | ||||||
|             </ng-container> |             </ng-container> | ||||||
|         </ion-list> |         </ion-list> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -15,7 +15,7 @@ | |||||||
| import { Component, OnDestroy, OnInit, QueryList, ViewChildren } from '@angular/core'; | import { Component, OnDestroy, OnInit, QueryList, ViewChildren } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; | import { IonRefresher } from '@ionic/angular'; | ||||||
| 
 | 
 | ||||||
| import { CoreCourses, CoreCoursesProvider } from '../../services/courses'; | import { CoreCourses } from '../../services/courses'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreCoursesDashboard } from '@features/courses/services/dashboard'; | import { CoreCoursesDashboard } from '@features/courses/services/dashboard'; | ||||||
| @ -39,7 +39,6 @@ export class CoreCoursesDashboardPage implements OnInit, OnDestroy { | |||||||
| 
 | 
 | ||||||
|     hasSideBlocks = false; |     hasSideBlocks = false; | ||||||
|     searchEnabled = false; |     searchEnabled = false; | ||||||
|     downloadEnabled = false; |  | ||||||
|     downloadCourseEnabled = false; |     downloadCourseEnabled = false; | ||||||
|     downloadCoursesEnabled = false; |     downloadCoursesEnabled = false; | ||||||
|     userId?: number; |     userId?: number; | ||||||
| @ -47,7 +46,6 @@ export class CoreCoursesDashboardPage implements OnInit, OnDestroy { | |||||||
|     loaded = false; |     loaded = false; | ||||||
| 
 | 
 | ||||||
|     protected updateSiteObserver: CoreEventObserver; |     protected updateSiteObserver: CoreEventObserver; | ||||||
|     protected downloadEnabledObserver: CoreEventObserver; |  | ||||||
| 
 | 
 | ||||||
|     constructor() { |     constructor() { | ||||||
|         // Refresh the enabled flags if site is updated.
 |         // Refresh the enabled flags if site is updated.
 | ||||||
| @ -56,12 +54,7 @@ export class CoreCoursesDashboardPage implements OnInit, OnDestroy { | |||||||
|             this.downloadCourseEnabled = !CoreCourses.isDownloadCourseDisabledInSite(); |             this.downloadCourseEnabled = !CoreCourses.isDownloadCourseDisabledInSite(); | ||||||
|             this.downloadCoursesEnabled = !CoreCourses.isDownloadCoursesDisabledInSite(); |             this.downloadCoursesEnabled = !CoreCourses.isDownloadCoursesDisabledInSite(); | ||||||
| 
 | 
 | ||||||
|             this.downloadEnabled = (this.downloadCourseEnabled || this.downloadCoursesEnabled) && this.downloadEnabled; |  | ||||||
|         }, CoreSites.getCurrentSiteId()); |         }, CoreSites.getCurrentSiteId()); | ||||||
| 
 |  | ||||||
|         this.downloadEnabledObserver = CoreEvents.on(CoreCoursesProvider.EVENT_DASHBOARD_DOWNLOAD_ENABLED_CHANGED, (data) => { |  | ||||||
|             this.downloadEnabled = (this.downloadCourseEnabled || this.downloadCoursesEnabled) && data.enabled; |  | ||||||
|         }); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
| @ -72,9 +65,6 @@ export class CoreCoursesDashboardPage implements OnInit, OnDestroy { | |||||||
|         this.downloadCourseEnabled = !CoreCourses.isDownloadCourseDisabledInSite(); |         this.downloadCourseEnabled = !CoreCourses.isDownloadCourseDisabledInSite(); | ||||||
|         this.downloadCoursesEnabled = !CoreCourses.isDownloadCoursesDisabledInSite(); |         this.downloadCoursesEnabled = !CoreCourses.isDownloadCoursesDisabledInSite(); | ||||||
| 
 | 
 | ||||||
|         this.downloadEnabled = |  | ||||||
|             (this.downloadCourseEnabled || this.downloadCoursesEnabled) && CoreCourses.getCourseDownloadOptionsEnabled(); |  | ||||||
| 
 |  | ||||||
|         this.loadContent(); |         this.loadContent(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -153,13 +143,6 @@ export class CoreCoursesDashboardPage implements OnInit, OnDestroy { | |||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |  | ||||||
|      * Switch download enabled. |  | ||||||
|      */ |  | ||||||
|     switchDownload(): void { |  | ||||||
|         CoreCourses.setCourseDownloadOptionsEnabled(this.downloadEnabled); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     /** |     /** | ||||||
|      * Go to search courses. |      * Go to search courses. | ||||||
|      */ |      */ | ||||||
| @ -172,7 +155,6 @@ export class CoreCoursesDashboardPage implements OnInit, OnDestroy { | |||||||
|      */ |      */ | ||||||
|     ngOnDestroy(): void { |     ngOnDestroy(): void { | ||||||
|         this.updateSiteObserver.off(); |         this.updateSiteObserver.off(); | ||||||
|         this.downloadEnabledObserver.off(); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  | |||||||
| @ -48,8 +48,7 @@ | |||||||
|             </div> |             </div> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|         <ion-list> |         <ion-list> | ||||||
|             <core-block *ngIf="loadedBlock?.visible" [block]="loadedBlock" contextLevel="user" [instanceId]="userId" |             <core-block *ngIf="loadedBlock?.visible" [block]="loadedBlock" contextLevel="user" [instanceId]="userId"></core-block> | ||||||
|                 [extraData]="{'downloadEnabled': true}"></core-block> |  | ||||||
|         </ion-list> |         </ion-list> | ||||||
| 
 | 
 | ||||||
|         <core-empty-box *ngIf="!loadedBlock" icon="fas-cubes" [message]="'core.course.nocontentavailable' | translate"> |         <core-empty-box *ngIf="!loadedBlock" icon="fas-cubes" [message]="'core.course.nocontentavailable' | translate"> | ||||||
|  | |||||||
| @ -34,7 +34,6 @@ export class CoreSitePluginsCourseFormatComponent implements OnChanges { | |||||||
| 
 | 
 | ||||||
|     @Input() course?: CoreCourseAnyCourseData; // The course to render.
 |     @Input() course?: CoreCourseAnyCourseData; // The course to render.
 | ||||||
|     @Input() sections?: CoreCourseSection[]; // List of course sections. The status will be calculated in this component.
 |     @Input() sections?: CoreCourseSection[]; // List of course sections. The status will be calculated in this component.
 | ||||||
|     @Input() downloadEnabled?: boolean; // Whether the download of sections and modules is enabled.
 |  | ||||||
|     @Input() initialSectionId?: number; // The section to load first (by ID).
 |     @Input() initialSectionId?: number; // The section to load first (by ID).
 | ||||||
|     @Input() initialSectionNumber?: number; // The section to load first (by number).
 |     @Input() initialSectionNumber?: number; // The section to load first (by number).
 | ||||||
|     @Input() moduleId?: number; // The module ID to scroll to. Must be inside the initial selected section.
 |     @Input() moduleId?: number; // The module ID to scroll to. Must be inside the initial selected section.
 | ||||||
| @ -71,7 +70,6 @@ export class CoreSitePluginsCourseFormatComponent implements OnChanges { | |||||||
|                 this.method = handler.handlerSchema.method; |                 this.method = handler.handlerSchema.method; | ||||||
|                 this.args = { |                 this.args = { | ||||||
|                     courseid: this.course.id, |                     courseid: this.course.id, | ||||||
|                     downloadenabled: this.downloadEnabled, |  | ||||||
|                 }; |                 }; | ||||||
|                 this.initResult = handler.initResult; |                 this.initResult = handler.initResult; | ||||||
|             } |             } | ||||||
| @ -81,7 +79,6 @@ export class CoreSitePluginsCourseFormatComponent implements OnChanges { | |||||||
|         this.data = { |         this.data = { | ||||||
|             course: this.course, |             course: this.course, | ||||||
|             sections: this.sections, |             sections: this.sections, | ||||||
|             downloadEnabled: this.downloadEnabled, |  | ||||||
|             initialSectionId: this.initialSectionId, |             initialSectionId: this.initialSectionId, | ||||||
|             initialSectionNumber: this.initialSectionNumber, |             initialSectionNumber: this.initialSectionNumber, | ||||||
|             moduleId: this.moduleId, |             moduleId: this.moduleId, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user