MOBILE-3338 course: Always get stored data and adapt strings
This commit is contained in:
		
							parent
							
								
									421634dff7
								
							
						
					
					
						commit
						02da06a0fe
					
				| @ -45,7 +45,6 @@ | ||||
|   "addon.block_myoverview.hiddencourses": "block_myoverview", | ||||
|   "addon.block_myoverview.inprogress": "block_myoverview", | ||||
|   "addon.block_myoverview.lastaccessed": "block_myoverview", | ||||
|   "addon.block_myoverview.morecourses": "block_myoverview", | ||||
|   "addon.block_myoverview.nocourses": "block_myoverview", | ||||
|   "addon.block_myoverview.past": "block_myoverview", | ||||
|   "addon.block_myoverview.pluginname": "block_myoverview", | ||||
| @ -1383,6 +1382,7 @@ | ||||
|   "core.choose": "moodle", | ||||
|   "core.choosedots": "moodle", | ||||
|   "core.clearsearch": "local_moodlemobileapp", | ||||
|   "core.clearstoreddata": "local_moodlemobileapp", | ||||
|   "core.clicktohideshow": "moodle", | ||||
|   "core.clicktoseefull": "local_moodlemobileapp", | ||||
|   "core.close": "repository", | ||||
| @ -1436,6 +1436,7 @@ | ||||
|   "core.course.availablespace": "local_moodlemobileapp", | ||||
|   "core.course.cannotdeletewhiledownloading": "local_moodlemobileapp", | ||||
|   "core.course.confirmdeletemodulefiles": "local_moodlemobileapp", | ||||
|   "core.course.confirmdeletestoreddata": "local_moodlemobileapp", | ||||
|   "core.course.confirmdownload": "local_moodlemobileapp", | ||||
|   "core.course.confirmdownloadunknownsize": "local_moodlemobileapp", | ||||
|   "core.course.confirmdownloadzerosize": "local_moodlemobileapp", | ||||
|  | ||||
| @ -6,7 +6,6 @@ | ||||
|     "hiddencourses": "Removed from view", | ||||
|     "inprogress": "In progress", | ||||
|     "lastaccessed": "Last accessed", | ||||
|     "morecourses": "More courses", | ||||
|     "nocourses": "No courses", | ||||
|     "past": "Past", | ||||
|     "pluginname": "Course overview", | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
|         <core-context-menu-item *ngIf="blog" [priority]="750" content="{{'addon.blog.blog' | translate}}" [iconAction]="'fa-newspaper-o'" (action)="gotoBlog($event)"></core-context-menu-item> | ||||
|         <core-context-menu-item [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="600" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
|         <core-context-menu-item [priority]="500" *ngIf="canAdd" [content]="'addon.mod_data.addentries' | translate" [iconAction]="'add'" (action)="gotoAddEntries($event)"></core-context-menu-item> | ||||
|         <core-context-menu-item [priority]="400" *ngIf="firstEntry" [content]="'addon.mod_data.single' | translate" [iconAction]="'document'" (action)="gotoEntry(firstEntry)"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="300" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="200" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="200" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -6,7 +6,7 @@ | ||||
|         <core-context-menu-item *ngIf="blog" [priority]="750" content="{{'addon.blog.blog' | translate}}" [iconAction]="'fa-newspaper-o'" (action)="gotoBlog($event)"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="!subfolder" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="600" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !(hasOffline || hasOfflineRatings) && isOnline" [priority]="700" [content]="'addon.mod_forum.refreshdiscussions' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && (hasOffline || hasOfflineRatings) && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="sortingAvailable" [priority]="300" [content]="'core.sort' | translate" (action)="showSortOrderSelector($event)" iconAction="fa-sort"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && (hasOffline || hasOfflineRatings) && isOnline"  [priority]="650" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="canAdd" [priority]="600" [content]="'addon.mod_glossary.addentry' | translate" (action)="openNewEntry()" iconAction="add"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -8,7 +8,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
|         <core-context-menu-item *ngIf="blog" [priority]="750" content="{{'addon.blog.blog' | translate}}" [iconAction]="'fa-newspaper-o'" (action)="gotoBlog($event)"></core-context-menu-item> | ||||
|         <core-context-menu-item [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="600" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -6,7 +6,7 @@ | ||||
|         <core-context-menu-item *ngIf="blog" [priority]="750" content="{{'addon.blog.blog' | translate}}" [iconAction]="'fa-newspaper-o'" (action)="gotoBlog($event)"></core-context-menu-item> | ||||
|         <core-context-menu-item [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="600" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -6,7 +6,7 @@ | ||||
|         <core-context-menu-item *ngIf="blog" [priority]="750" content="{{'addon.blog.blog' | translate}}" [iconAction]="'fa-newspaper-o'" (action)="gotoBlog($event)"></core-context-menu-item> | ||||
|         <core-context-menu-item [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="600" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="500" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -19,7 +19,7 @@ | ||||
|         <core-context-menu-item *ngIf="canEdit && (isOnline || pageIsOffline)" [priority]="590" [content]="'core.edit' | translate" iconAction="create" (action)="goToEditPage()"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="canEdit" [priority]="580" [content]="'addon.mod_wiki.createpage' | translate" iconAction="add" (action)="goToNewPage()"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         <core-context-menu-item *ngIf="loaded && !hasOffline && isOnline" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="loaded && hasOffline && isOnline"  [priority]="600" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="prefetchStatusIcon" [priority]="500" [content]="prefetchText" (action)="prefetch($event)" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item *ngIf="size" [priority]="400" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -20,7 +20,6 @@ import { CoreCourseHelperProvider } from '@core/course/providers/helper'; | ||||
| import { CoreDomUtilsProvider } from '@providers/utils/dom'; | ||||
| import { TranslateService } from '@ngx-translate/core'; | ||||
| import { CoreConstants } from '@core/constants'; | ||||
| import { CoreSitesProvider } from '@providers/sites'; | ||||
| 
 | ||||
| /** | ||||
|  * Page that displays the amount of file storage used by each activity on the course, and allows | ||||
| @ -40,7 +39,6 @@ export class AddonStorageManagerCourseStoragePage { | ||||
|     totalSize: number; | ||||
| 
 | ||||
|     constructor(navParams: NavParams, | ||||
|             private sitesProvider: CoreSitesProvider, | ||||
|             private courseProvider: CoreCourseProvider, | ||||
|             private prefetchDelegate: CoreCourseModulePrefetchDelegate, | ||||
|             private courseHelperProvider: CoreCourseHelperProvider, | ||||
| @ -102,7 +100,7 @@ export class AddonStorageManagerCourseStoragePage { | ||||
|      */ | ||||
|     async deleteForCourse(): Promise<void> { | ||||
|         try { | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletemodulefiles'); | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletestoreddata'); | ||||
|         } catch (error) { | ||||
|             if (!error.coreCanceled) { | ||||
|                 throw error; | ||||
| @ -132,7 +130,7 @@ export class AddonStorageManagerCourseStoragePage { | ||||
|      */ | ||||
|     async deleteForSection(section: any): Promise<void> { | ||||
|         try { | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletemodulefiles'); | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletestoreddata'); | ||||
|         } catch (error) { | ||||
|             if (!error.coreCanceled) { | ||||
|                 throw error; | ||||
| @ -162,7 +160,7 @@ export class AddonStorageManagerCourseStoragePage { | ||||
|         } | ||||
| 
 | ||||
|         try { | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletemodulefiles'); | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletestoreddata'); | ||||
|         } catch (error) { | ||||
|             if (!error.coreCanceled) { | ||||
|                 throw error; | ||||
| @ -186,13 +184,7 @@ export class AddonStorageManagerCourseStoragePage { | ||||
|         const promises = []; | ||||
|         modules.forEach((module) => { | ||||
|             // Remove the files.
 | ||||
|             const promise = this.prefetchDelegate.removeModuleFiles(module, this.course.id).then(() => { | ||||
|                 const handler = this.prefetchDelegate.getPrefetchHandlerFor(module); | ||||
|                 if (handler) { | ||||
| 
 | ||||
|                     return this.sitesProvider.getCurrentSite().deleteComponentFromCache(handler.component, module.id); | ||||
|                 } | ||||
|             }).then(() => { | ||||
|             const promise = this.courseHelperProvider.removeModuleStoredData(module, this.course.id).then(() => { | ||||
|                 // When the files and cache are removed, update the size.
 | ||||
|                 module.parentSection.totalSize -= module.totalSize; | ||||
|                 this.totalSize -= module.totalSize; | ||||
|  | ||||
| @ -92,7 +92,7 @@ export class AddonStorageManagerCoursesStoragePage { | ||||
|      */ | ||||
|     async deleteCompletelyDownloadedCourses(): Promise<void> { | ||||
|         try { | ||||
|             await CoreDomUtils.instance.showDeleteConfirm('core.course.confirmdeletemodulefiles'); | ||||
|             await CoreDomUtils.instance.showDeleteConfirm('core.course.confirmdeletestoreddata'); | ||||
|         } catch (error) { | ||||
|             if (!error.coreCanceled) { | ||||
|                 throw error; | ||||
| @ -122,7 +122,7 @@ export class AddonStorageManagerCoursesStoragePage { | ||||
|      */ | ||||
|     async deleteCourse(course: DownloadedCourse): Promise<void> { | ||||
|         try { | ||||
|             await CoreDomUtils.instance.showDeleteConfirm('core.course.confirmdeletemodulefiles'); | ||||
|             await CoreDomUtils.instance.showDeleteConfirm('core.course.confirmdeletestoreddata'); | ||||
|         } catch (error) { | ||||
|             if (!error.coreCanceled) { | ||||
|                 throw error; | ||||
| @ -206,7 +206,7 @@ export class AddonStorageManagerCoursesStoragePage { | ||||
|         const sections = await CoreCourse.instance.getSections(courseId); | ||||
|         const modules = CoreArray.flatten(sections.map((section) => section.modules)); | ||||
|         const promisedModuleSizes = modules.map(async (module) => { | ||||
|             const size = await CoreCourseModulePrefetch.instance.getModuleDownloadedSize(module, courseId); | ||||
|             const size = await CoreCourseModulePrefetch.instance.getModuleStoredSize(module, courseId); | ||||
| 
 | ||||
|             return isNaN(size) ? 0 : size; | ||||
|         }); | ||||
|  | ||||
| @ -45,7 +45,6 @@ | ||||
|     "addon.block_myoverview.hiddencourses": "Removed from view", | ||||
|     "addon.block_myoverview.inprogress": "In progress", | ||||
|     "addon.block_myoverview.lastaccessed": "Last accessed", | ||||
|     "addon.block_myoverview.morecourses": "More courses", | ||||
|     "addon.block_myoverview.nocourses": "No courses", | ||||
|     "addon.block_myoverview.past": "Past", | ||||
|     "addon.block_myoverview.pluginname": "Course overview", | ||||
| @ -1384,6 +1383,7 @@ | ||||
|     "core.choose": "Choose", | ||||
|     "core.choosedots": "Choose...", | ||||
|     "core.clearsearch": "Clear search", | ||||
|     "core.clearstoreddata": "Clear storage {{$a}}", | ||||
|     "core.clicktohideshow": "Click to expand or collapse", | ||||
|     "core.clicktoseefull": "Click to see full contents.", | ||||
|     "core.close": "Close", | ||||
| @ -1437,6 +1437,7 @@ | ||||
|     "core.course.availablespace": " You currently have about {{available}} free space.", | ||||
|     "core.course.cannotdeletewhiledownloading": "Files cannot be deleted while the activity is being downloaded. Please wait for the download to finish.", | ||||
|     "core.course.confirmdeletemodulefiles": "Are you sure you want to delete these files?", | ||||
|     "core.course.confirmdeletestoreddata": "Are you sure you want to delete the stored data?", | ||||
|     "core.course.confirmdownload": "You are about to download {{size}}.{{availableSpace}} Are you sure you want to continue?", | ||||
|     "core.course.confirmdownloadunknownsize": "It was not possible to calculate the size of the download.{{availableSpace}} Are you sure you want to continue?", | ||||
|     "core.course.confirmdownloadzerosize": "You are about to start downloading.{{availableSpace}} Are you sure you want to continue?", | ||||
|  | ||||
| @ -1107,10 +1107,10 @@ export class CoreSite { | ||||
|      * @param componentId Optional component id (if not included, returns sum for whole component) | ||||
|      * @return Promise resolved when we have calculated the size | ||||
|      */ | ||||
|     getComponentCacheSize(component: string, componentId?: string): Promise<number> { | ||||
|         const params = [component]; | ||||
|     getComponentCacheSize(component: string, componentId?: number): Promise<number> { | ||||
|         const params: any[] = [component]; | ||||
|         let extraClause = ''; | ||||
|         if (componentId) { | ||||
|         if (componentId !== undefined && componentId !== null) { | ||||
|             params.push(componentId); | ||||
|             extraClause = ' AND componentId = ?'; | ||||
|         } | ||||
| @ -1200,7 +1200,7 @@ export class CoreSite { | ||||
|      * @param componentId Component id. | ||||
|      * @return Promise resolved when the entries are deleted. | ||||
|      */ | ||||
|     async deleteComponentFromCache(component: string, componentId?: string): Promise<void> { | ||||
|     async deleteComponentFromCache(component: string, componentId?: number): Promise<void> { | ||||
|         if (!component) { | ||||
|             return; | ||||
|         } | ||||
|  | ||||
| @ -7,6 +7,7 @@ | ||||
|     "availablespace": " You currently have about {{available}} free space.", | ||||
|     "cannotdeletewhiledownloading": "Files cannot be deleted while the activity is being downloaded. Please wait for the download to finish.", | ||||
|     "confirmdeletemodulefiles": "Are you sure you want to delete these files?", | ||||
|     "confirmdeletestoreddata": "Are you sure you want to delete the stored data?", | ||||
|     "confirmdownload": "You are about to download {{size}}.{{availableSpace}} Are you sure you want to continue?", | ||||
|     "confirmdownloadunknownsize": "It was not possible to calculate the size of the download.{{availableSpace}} Are you sure you want to continue?", | ||||
|     "confirmdownloadzerosize": "You are about to start downloading.{{availableSpace}} Are you sure you want to continue?", | ||||
|  | ||||
| @ -419,16 +419,11 @@ export class CoreCourseHelperProvider { | ||||
| 
 | ||||
|         try { | ||||
| 
 | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletemodulefiles'); | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletestoreddata'); | ||||
| 
 | ||||
|             modal = this.domUtils.showModalLoading(); | ||||
| 
 | ||||
|             await this.prefetchDelegate.removeModuleFiles(module, courseId); | ||||
| 
 | ||||
|             const handler = this.prefetchDelegate.getPrefetchHandlerFor(module); | ||||
|             if (handler) { | ||||
|                 await this.sitesProvider.getCurrentSite().deleteComponentFromCache(handler.component, String(module.id)); | ||||
|             } | ||||
|             await this.removeModuleStoredData(module, courseId); | ||||
| 
 | ||||
|             done && done(); | ||||
| 
 | ||||
| @ -859,7 +854,7 @@ export class CoreCourseHelperProvider { | ||||
|             if (typeof instance.contextFileStatusObserver == 'undefined' && component) { | ||||
|                 // Debounce the update size function to prevent too many calls when downloading or deleting a whole activity.
 | ||||
|                 const debouncedUpdateSize = this.utils.debounce(() => { | ||||
|                     this.prefetchDelegate.getModuleDownloadedSize(module, courseId).then((moduleSize) => { | ||||
|                     this.prefetchDelegate.getModuleStoredSize(module, courseId).then((moduleSize) => { | ||||
|                         instance.size = moduleSize > 0 ? this.textUtils.bytesToSize(moduleSize, 2) : 0; | ||||
|                     }); | ||||
|                 }, 1000); | ||||
| @ -1630,12 +1625,32 @@ export class CoreCourseHelperProvider { | ||||
|         const modules = CoreArray.flatten(sections.map((section) => section.modules)); | ||||
| 
 | ||||
|         await Promise.all( | ||||
|             modules.map((module) => this.prefetchDelegate.removeModuleFiles(module, courseId)), | ||||
|             modules.map((module) => this.removeModuleStoredData(module, courseId)), | ||||
|         ); | ||||
| 
 | ||||
|         await this.courseProvider.setCourseStatus(courseId, CoreConstants.NOT_DOWNLOADED); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Remove module stored data. | ||||
|      * | ||||
|      * @param module Module to remove the files. | ||||
|      * @param courseId Course ID the module belongs to. | ||||
|      * @return Promise resolved when done. | ||||
|      */ | ||||
|     async removeModuleStoredData(module: any, courseId: number): Promise<void> { | ||||
|         const promises = []; | ||||
| 
 | ||||
|         promises.push(this.prefetchDelegate.removeModuleFiles(module, courseId)); | ||||
| 
 | ||||
|         const handler = this.prefetchDelegate.getPrefetchHandlerFor(module); | ||||
|         if (handler) { | ||||
|             promises.push(this.sitesProvider.getCurrentSite().deleteComponentFromCache(handler.component, module.id)); | ||||
|         } | ||||
| 
 | ||||
|         await Promise.all(promises); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| export class CoreCourseHelper extends makeSingleton(CoreCourseHelperProvider) {} | ||||
|  | ||||
| @ -163,7 +163,7 @@ export class CoreCoursesCourseProgressComponent implements OnInit, OnDestroy { | ||||
|      */ | ||||
|     async deleteCourse(): Promise<void> { | ||||
|         try { | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletemodulefiles'); | ||||
|             await this.domUtils.showDeleteConfirm('core.course.confirmdeletestoreddata'); | ||||
|         } catch (error) { | ||||
|             if (!error.coreCanceled) { | ||||
|                 throw error; | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|         <core-context-menu-item [hidden]="!displayDescription || !description || (content && content.compileComponent && content.compileComponent.componentInstance && content.compileComponent.componentInstance.displayDescription === false)" [priority]="800" [content]="'core.moduleintro' | translate" (action)="expandDescription()" [iconAction]="'arrow-forward'"></core-context-menu-item> | ||||
|         <core-context-menu-item [hidden]="!displayRefresh || (content && content.compileComponent && content.compileComponent.componentInstance && content.compileComponent.componentInstance.displayRefresh === false)" [priority]="700" [content]="'core.refresh' | translate" (action)="doRefresh(null, $event)" [iconAction]="refreshIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item [hidden]="!displayPrefetch || !prefetchStatusIcon || (content && content.compileComponent && content.compileComponent.componentInstance && content.compileComponent.componentInstance.displayPrefetch === false)" [priority]="600" [content]="prefetchText" (action)="prefetch()" [iconAction]="prefetchStatusIcon" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item [hidden]="!displaySize || !size || (content && content.compileComponent && content.compileComponent.componentInstance && content.compileComponent.componentInstance.displaySize === false)" [priority]="500" [content]="'core.removefiles' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|         <core-context-menu-item [hidden]="!displaySize || !size || (content && content.compileComponent && content.compileComponent.componentInstance && content.compileComponent.componentInstance.displaySize === false)" [priority]="500" [content]="'core.clearstoreddata' | translate:{$a: size}" [iconDescription]="'cube'" (action)="removeFiles($event)" [iconAction]="'trash'" [closeOnClick]="false"></core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </core-navbar-buttons> | ||||
| 
 | ||||
|  | ||||
| @ -26,6 +26,7 @@ | ||||
|     "choose": "Choose", | ||||
|     "choosedots": "Choose...", | ||||
|     "clearsearch": "Clear search", | ||||
|     "clearstoreddata": "Clear storage {{$a}}", | ||||
|     "clicktohideshow": "Click to expand or collapse", | ||||
|     "clicktoseefull": "Click to see full contents.", | ||||
|     "close": "Close", | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user