forked from EVOgeek/Vmeda.Online
		
	MOBILE-3947 chore: Change IonRefresher type to HTMLIonRefresherElement
This commit is contained in:
		
							parent
							
								
									4ebec029ba
								
							
						
					
					
						commit
						feb8a78ecc
					
				| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreTimeUtils } from '@services/utils/time'; | import { CoreTimeUtils } from '@services/utils/time'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -130,7 +129,7 @@ export class AddonBadgesIssuedBadgePage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshBadges(refresher?: IonRefresher): Promise<void> { |     async refreshBadges(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(Promise.all([ |         await CoreUtils.ignoreErrors(Promise.all([ | ||||||
|             AddonBadges.invalidateUserBadges(this.courseId, this.userId), |             AddonBadges.invalidateUserBadges(this.courseId, this.userId), | ||||||
|         ])); |         ])); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { AddonBadges, AddonBadgesUserBadge } from '../../services/badges'; | import { AddonBadges, AddonBadgesUserBadge } from '../../services/badges'; | ||||||
| import { CoreTimeUtils } from '@services/utils/time'; | import { CoreTimeUtils } from '@services/utils/time'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -90,7 +89,7 @@ export class AddonBadgesUserBadgesPage implements AfterViewInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshBadges(refresher?: IonRefresher): Promise<void> { |     async refreshBadges(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors( |         await CoreUtils.ignoreErrors( | ||||||
|             AddonBadges.invalidateUserBadges( |             AddonBadges.invalidateUserBadges( | ||||||
|                 this.badges.getSource().COURSE_ID, |                 this.badges.getSource().COURSE_ID, | ||||||
|  | |||||||
| @ -31,7 +31,7 @@ import { CoreUtils } from '@services/utils/utils'; | |||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreTextUtils } from '@services/utils/text'; | import { CoreTextUtils } from '@services/utils/text'; | ||||||
| import { AddonCourseCompletion } from '@addons/coursecompletion/services/coursecompletion'; | import { AddonCourseCompletion } from '@addons/coursecompletion/services/coursecompletion'; | ||||||
| import { IonRefresher, IonSearchbar } from '@ionic/angular'; | import { IonSearchbar } from '@ionic/angular'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { PageLoadWatcher } from '@classes/page-load-watcher'; | import { PageLoadWatcher } from '@classes/page-load-watcher'; | ||||||
| import { PageLoadsManager } from '@classes/page-loads-manager'; | import { PageLoadsManager } from '@classes/page-loads-manager'; | ||||||
| @ -191,7 +191,7 @@ export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implem | |||||||
|      * @param done Function to call when done. |      * @param done Function to call when done. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher, done?: () => void): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement, done?: () => void): Promise<void> { | ||||||
|         if (this.loaded) { |         if (this.loaded) { | ||||||
|             return this.refreshContent().finally(() => { |             return this.refreshContent().finally(() => { | ||||||
|                 refresher?.complete(); |                 refresher?.complete(); | ||||||
|  | |||||||
| @ -19,7 +19,6 @@ import { CoreComments } from '@features/comments/services/comments'; | |||||||
| import { CoreMainMenuDeepLinkManager } from '@features/mainmenu/classes/deep-link-manager'; | import { CoreMainMenuDeepLinkManager } from '@features/mainmenu/classes/deep-link-manager'; | ||||||
| import { CoreTag } from '@features/tag/services/tag'; | import { CoreTag } from '@features/tag/services/tag'; | ||||||
| import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -272,7 +271,7 @@ export class AddonBlogEntriesPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher instance. |      * @param refresher Refresher instance. | ||||||
|      */ |      */ | ||||||
|     refresh(refresher?: IonRefresher): void { |     refresh(refresher?: HTMLIonRefresherElement): void { | ||||||
|         const promises = this.entries.map((entry) => |         const promises = this.entries.map((entry) => | ||||||
|             CoreComments.invalidateCommentsData('user', entry.userid, this.component, entry.id, 'format_blog')); |             CoreComments.invalidateCommentsData('user', entry.userid, this.component, entry.id, 'format_blog')); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; | import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNetwork } from '@services/network'; | import { CoreNetwork } from '@services/network'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -301,7 +300,7 @@ export class AddonCalendarDayPage implements OnInit, OnDestroy { | |||||||
|      * @param done Function to call when done. |      * @param done Function to call when done. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher, done?: () => void): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement, done?: () => void): Promise<void> { | ||||||
|         if (!this.loaded) { |         if (!this.loaded) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
| 
 | 
 | ||||||
| import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core'; | import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core'; | ||||||
| import { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms'; | import { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreEvents } from '@singletons/events'; | import { CoreEvents } from '@singletons/events'; | ||||||
| import { CoreGroup, CoreGroups } from '@services/groups'; | import { CoreGroup, CoreGroups } from '@services/groups'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -383,7 +382,7 @@ export class AddonCalendarEditEventPage implements OnInit, OnDestroy, CanLeave { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshData(refresher?: IonRefresher): void { |     refreshData(refresher?: HTMLIonRefresherElement): void { | ||||||
|         const promises = [ |         const promises = [ | ||||||
|             AddonCalendar.invalidateAccessInformation(this.courseId), |             AddonCalendar.invalidateAccessInformation(this.courseId), | ||||||
|             AddonCalendar.invalidateAllowedEventTypes(this.courseId), |             AddonCalendar.invalidateAllowedEventTypes(this.courseId), | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { AlertOptions } from '@ionic/core'; | import { AlertOptions } from '@ionic/core'; | ||||||
| import { | import { | ||||||
|     AddonCalendar, |     AddonCalendar, | ||||||
| @ -419,7 +418,7 @@ export class AddonCalendarEventPage implements OnInit, OnDestroy { | |||||||
|      * @param showErrors Whether to show sync errors to the user. |      * @param showErrors Whether to show sync errors to the user. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher, done?: () => void, showErrors= false): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement, done?: () => void, showErrors= false): Promise<void> { | ||||||
|         if (!this.eventLoaded) { |         if (!this.eventLoaded) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; | import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNetwork } from '@services/network'; | import { CoreNetwork } from '@services/network'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -263,7 +262,7 @@ export class AddonCalendarIndexPage implements OnInit, OnDestroy { | |||||||
|      * @param showErrors Whether to show sync errors to the user. |      * @param showErrors Whether to show sync errors to the user. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher, done?: () => void, showErrors?: boolean): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement, done?: () => void, showErrors?: boolean): Promise<void> { | ||||||
|         if (!this.loaded) { |         if (!this.loaded) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreSplitViewComponent } from '@components/split-view/split-view'; | import { CoreSplitViewComponent } from '@components/split-view/split-view'; | ||||||
| import { | import { | ||||||
| @ -121,7 +120,7 @@ export class AddonCompetencyCompetenciesPage implements AfterViewInit, OnDestroy | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshCompetencies(refresher?: IonRefresher): Promise<void> { |     async refreshCompetencies(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await this.competencies.getSource().invalidateCache(); |         await this.competencies.getSource().invalidateCache(); | ||||||
| 
 | 
 | ||||||
|         this.competencies.getSource().setDirty(true); |         this.competencies.getSource().setDirty(true); | ||||||
|  | |||||||
| @ -30,7 +30,6 @@ import { | |||||||
|     AddonCompetencyProvider, |     AddonCompetencyProvider, | ||||||
| } from '@addons/competency/services/competency'; | } from '@addons/competency/services/competency'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { ContextLevel } from '@/core/constants'; | import { ContextLevel } from '@/core/constants'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| import { ADDON_COMPETENCY_SUMMARY_PAGE } from '@addons/competency/competency.module'; | import { ADDON_COMPETENCY_SUMMARY_PAGE } from '@addons/competency/competency.module'; | ||||||
| @ -173,7 +172,7 @@ export class AddonCompetencyCompetencyPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshCompetency(refresher: IonRefresher): Promise<void> { |     async refreshCompetency(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         const source = this.competencies.getSource(); |         const source = this.competencies.getSource(); | ||||||
| 
 | 
 | ||||||
|         await CoreUtils.ignoreErrors( |         await CoreUtils.ignoreErrors( | ||||||
|  | |||||||
| @ -15,7 +15,6 @@ | |||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { ContextLevel } from '@/core/constants'; | import { ContextLevel } from '@/core/constants'; | ||||||
| import { AddonCompetencySummary, AddonCompetency } from '@addons/competency/services/competency'; | import { AddonCompetencySummary, AddonCompetency } from '@addons/competency/services/competency'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| @ -113,7 +112,7 @@ export class AddonCompetencyCompetencySummaryPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshCompetency(refresher: IonRefresher): void { |     refreshCompetency(refresher: HTMLIonRefresherElement): void { | ||||||
|         AddonCompetency.invalidateCompetencySummary(this.competencyId).finally(() => { |         AddonCompetency.invalidateCompetencySummary(this.competencyId).finally(() => { | ||||||
|             this.fetchCompetency().finally(() => { |             this.fetchCompetency().finally(() => { | ||||||
|                 refresher?.complete(); |                 refresher?.complete(); | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ import { | |||||||
|     AddonCompetencyDataForCourseCompetenciesPageCompetency, |     AddonCompetencyDataForCourseCompetenciesPageCompetency, | ||||||
| } from '@addons/competency/services/competency'; | } from '@addons/competency/services/competency'; | ||||||
| import { CoreUserProfile } from '@features/user/services/user'; | import { CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { ContextLevel } from '@/core/constants'; | import { ContextLevel } from '@/core/constants'; | ||||||
| @ -148,7 +147,7 @@ export class AddonCompetencyCourseCompetenciesPage implements OnInit, OnDestroy | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshCourseCompetencies(refresher?: IonRefresher): Promise<void> { |     async refreshCourseCompetencies(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await this.competencies.getSource().invalidateCache(); |         await this.competencies.getSource().invalidateCache(); | ||||||
| 
 | 
 | ||||||
|         this.fetchCourseCompetencies().finally(() => { |         this.fetchCourseCompetencies().finally(() => { | ||||||
|  | |||||||
| @ -17,7 +17,6 @@ import { CoreDomUtils } from '@services/utils/dom'; | |||||||
| import { AddonCompetencyDataForPlanPageCompetency, AddonCompetencyDataForPlanPageWSResponse } from '../../services/competency'; | import { AddonCompetencyDataForPlanPageCompetency, AddonCompetencyDataForPlanPageWSResponse } from '../../services/competency'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreUserProfile } from '@features/user/services/user'; | import { CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreSwipeNavigationItemsManager } from '@classes/items-management/swipe-navigation-items-manager'; | import { CoreSwipeNavigationItemsManager } from '@classes/items-management/swipe-navigation-items-manager'; | ||||||
| import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | ||||||
| import { AddonCompetencyPlansSource } from '@addons/competency/classes/competency-plans-source'; | import { AddonCompetencyPlansSource } from '@addons/competency/classes/competency-plans-source'; | ||||||
| @ -111,7 +110,7 @@ export class AddonCompetencyPlanPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshLearningPlan(refresher: IonRefresher): Promise<void> { |     async refreshLearningPlan(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await this.competencies.getSource().invalidateCache(); |         await this.competencies.getSource().invalidateCache(); | ||||||
| 
 | 
 | ||||||
|         this.fetchLearningPlan().finally(() => { |         this.fetchLearningPlan().finally(() => { | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreSplitViewComponent } from '@components/split-view/split-view'; | import { CoreSplitViewComponent } from '@components/split-view/split-view'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| @ -86,7 +85,7 @@ export class AddonCompetencyPlanListPage implements AfterViewInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshLearningPlans(refresher: IonRefresher): Promise<void> { |     async refreshLearningPlans(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await this.plans.getSource().invalidateCache(); |         await this.plans.getSource().invalidateCache(); | ||||||
| 
 | 
 | ||||||
|         this.plans.getSource().setDirty(true); |         this.plans.getSource().setDirty(true); | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ import { | |||||||
| } from '@addons/coursecompletion/services/coursecompletion'; | } from '@addons/coursecompletion/services/coursecompletion'; | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -112,7 +111,7 @@ export class AddonCourseCompletionReportPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher instance. |      * @param refresher Refresher instance. | ||||||
|      */ |      */ | ||||||
|     async refreshCompletion(refresher?: IonRefresher): Promise<void> { |     async refreshCompletion(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await AddonCourseCompletion.invalidateCourseCompletion(this.courseId, this.userId).finally(() => { |         await AddonCourseCompletion.invalidateCourseCompletion(this.courseId, this.userId).finally(() => { | ||||||
|             this.fetchCompletion().finally(() => { |             this.fetchCompletion().finally(() => { | ||||||
|                 refresher?.complete(); |                 refresher?.complete(); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CorePushNotifications } from '@features/pushnotifications/services/pushnotifications'; | import { CorePushNotifications } from '@features/pushnotifications/services/pushnotifications'; | ||||||
| @ -123,7 +122,7 @@ export class AddonMessageOutputAirnotifierDevicesPage implements OnInit, OnDestr | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshDevices(refresher: IonRefresher): Promise<void> { |     async refreshDevices(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             await CoreUtils.ignoreErrors(AddonMessageOutputAirnotifier.invalidateUserDevices()); |             await CoreUtils.ignoreErrors(AddonMessageOutputAirnotifier.invalidateUserDevices()); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, Input, OnInit } from '@angular/core'; | import { Component, Input, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { | import { | ||||||
|     AddonMessagesConversationFormatted, |     AddonMessagesConversationFormatted, | ||||||
|     AddonMessagesConversationMember, |     AddonMessagesConversationMember, | ||||||
| @ -116,7 +115,7 @@ export class AddonMessagesConversationInfoComponent implements OnInit { | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher?: IonRefresher): Promise<void> { |     async refreshData(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         const promises: Promise<void>[] = []; |         const promises: Promise<void>[] = []; | ||||||
| 
 | 
 | ||||||
|         promises.push(AddonMessages.invalidateConversation(this.conversationId)); |         promises.push(AddonMessages.invalidateConversation(this.conversationId)); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; | import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { | import { | ||||||
|     AddonMessagesProvider, |     AddonMessagesProvider, | ||||||
| @ -129,7 +128,7 @@ export class AddonMessagesContacts35Page implements OnInit, OnDestroy { | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher?: IonRefresher): Promise<void> { |     async refreshData(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             if (this.searchString) { |             if (this.searchString) { | ||||||
|                 // User has searched, update the search.
 |                 // User has searched, update the search.
 | ||||||
|  | |||||||
| @ -23,7 +23,6 @@ import { | |||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreScreen } from '@services/screen'; | import { CoreScreen } from '@services/screen'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreSplitViewComponent } from '@components/split-view/split-view'; | import { CoreSplitViewComponent } from '@components/split-view/split-view'; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -216,7 +215,7 @@ export class AddonMessagesContactsPage implements OnInit, OnDestroy { | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher?: IonRefresher): Promise<void> { |     async refreshData(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             if (this.selected == 'confirmed') { |             if (this.selected == 'confirmed') { | ||||||
|                 // No need to invalidate contacts, we always try to get the latest.
 |                 // No need to invalidate contacts, we always try to get the latest.
 | ||||||
|  | |||||||
| @ -29,7 +29,6 @@ import { CorePushNotificationsNotificationBasicData } from '@features/pushnotifi | |||||||
| import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate'; | import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate'; | ||||||
| import { Subscription } from 'rxjs'; | import { Subscription } from 'rxjs'; | ||||||
| import { Translate } from '@singletons'; | import { Translate } from '@singletons'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreScreen } from '@services/screen'; | import { CoreScreen } from '@services/screen'; | ||||||
| import { CoreMainMenuDeepLinkManager } from '@features/mainmenu/classes/deep-link-manager'; | import { CoreMainMenuDeepLinkManager } from '@features/mainmenu/classes/deep-link-manager'; | ||||||
| @ -166,7 +165,7 @@ export class AddonMessagesDiscussions35Page implements OnInit, OnDestroy { | |||||||
|      * @param refreshUnreadCounts Whteher to refresh unread counts. |      * @param refreshUnreadCounts Whteher to refresh unread counts. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher?: IonRefresher, refreshUnreadCounts: boolean = true): Promise<void> { |     async refreshData(refresher?: HTMLIonRefresherElement, refreshUnreadCounts: boolean = true): Promise<void> { | ||||||
|         const promises: Promise<void>[] = []; |         const promises: Promise<void>[] = []; | ||||||
|         promises.push(AddonMessages.invalidateDiscussionsCache(this.siteId)); |         promises.push(AddonMessages.invalidateDiscussionsCache(this.siteId)); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core'; | import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { | import { | ||||||
| @ -719,7 +719,7 @@ export class AddonMessagesGroupConversationsPage implements OnInit, OnDestroy { | |||||||
|      * @param refreshUnreadCounts Whether to refresh unread counts. |      * @param refreshUnreadCounts Whether to refresh unread counts. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher?: IonRefresher, refreshUnreadCounts: boolean = true): Promise<void> { |     async refreshData(refresher?: HTMLIonRefresherElement, refreshUnreadCounts: boolean = true): Promise<void> { | ||||||
|         // Don't invalidate conversations and so, they always try to get latest data.
 |         // Don't invalidate conversations and so, they always try to get latest data.
 | ||||||
|         try { |         try { | ||||||
|             await AddonMessages.invalidateContactRequestsCountCache(this.siteId); |             await AddonMessages.invalidateContactRequestsCountCache(this.siteId); | ||||||
|  | |||||||
| @ -25,7 +25,6 @@ import { CoreEvents } from '@singletons/events'; | |||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreConstants } from '@/core/constants'; | import { CoreConstants } from '@/core/constants'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { AddonNotificationsPreferencesNotificationProcessorState } from '@addons/notifications/services/notifications'; | import { AddonNotificationsPreferencesNotificationProcessorState } from '@addons/notifications/services/notifications'; | ||||||
| import { CorePlatform } from '@services/platform'; | import { CorePlatform } from '@services/platform'; | ||||||
| 
 | 
 | ||||||
| @ -251,7 +250,7 @@ export class AddonMessagesSettingsPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshPreferences(refresher?: IonRefresher): void { |     refreshPreferences(refresher?: HTMLIonRefresherElement): void { | ||||||
|         AddonMessages.invalidateMessagePreferences().finally(() => { |         AddonMessages.invalidateMessagePreferences().finally(() => { | ||||||
|             this.fetchPreferences().finally(() => { |             this.fetchPreferences().finally(() => { | ||||||
|                 refresher?.complete(); |                 refresher?.complete(); | ||||||
|  | |||||||
| @ -16,7 +16,6 @@ import { Component, OnDestroy, AfterViewInit, ViewChild } from '@angular/core'; | |||||||
| import { CoreListItemsManager } from '@classes/items-management/list-items-manager'; | import { CoreListItemsManager } from '@classes/items-management/list-items-manager'; | ||||||
| import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | ||||||
| import { CoreSplitViewComponent } from '@components/split-view/split-view'; | import { CoreSplitViewComponent } from '@components/split-view/split-view'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreGroupInfo } from '@services/groups'; | import { CoreGroupInfo } from '@services/groups'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -208,7 +207,7 @@ export class AddonModAssignSubmissionListPage implements AfterViewInit, OnDestro | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshList(refresher?: IonRefresher): void { |     refreshList(refresher?: HTMLIonRefresherElement): void { | ||||||
|         this.refreshAllData(true).finally(() => { |         this.refreshAllData(true).finally(() => { | ||||||
|             refresher?.complete(); |             refresher?.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/ | |||||||
| import { CoreSwipeNavigationItemsManager } from '@classes/items-management/swipe-navigation-items-manager'; | import { CoreSwipeNavigationItemsManager } from '@classes/items-management/swipe-navigation-items-manager'; | ||||||
| import { CoreCourse } from '@features/course/services/course'; | import { CoreCourse } from '@features/course/services/course'; | ||||||
| import { CanLeave } from '@guards/can-leave'; | import { CanLeave } from '@guards/can-leave'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreScreen } from '@services/screen'; | import { CoreScreen } from '@services/screen'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -210,7 +209,7 @@ export class AddonModAssignSubmissionReviewPage implements OnInit, OnDestroy, Ca | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshSubmission(refresher?: IonRefresher): void { |     refreshSubmission(refresher?: HTMLIonRefresherElement): void { | ||||||
|         this.refreshAllData().finally(() => { |         this.refreshAllData().finally(() => { | ||||||
|             refresher?.complete(); |             refresher?.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -24,7 +24,6 @@ import { CoreCourse } from '@features/course/services/course'; | |||||||
| import { CoreCourseModuleData } from '@features/course/services/course-helper'; | import { CoreCourseModuleData } from '@features/course/services/course-helper'; | ||||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||||
| import { CoreTag, CoreTagItem } from '@features/tag/services/tag'; | import { CoreTag, CoreTagItem } from '@features/tag/services/tag'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNetwork } from '@services/network'; | import { CoreNetwork } from '@services/network'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -232,7 +231,7 @@ export class AddonModBookContentsPage implements OnInit, OnDestroy { | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         if (this.manager) { |         if (this.manager) { | ||||||
|             await CoreUtils.ignoreErrors(Promise.all([ |             await CoreUtils.ignoreErrors(Promise.all([ | ||||||
|                 this.manager.getSource().invalidateContent(), |                 this.manager.getSource().invalidateContent(), | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { CoreUser } from '@features/user/services/user'; | import { CoreUser } from '@features/user/services/user'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -158,7 +157,7 @@ export class AddonModChatSessionMessagesPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshMessages(refresher: IonRefresher): Promise<void> { |     async refreshMessages(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             await CoreUtils.ignoreErrors(AddonModChat.invalidateSessionMessages(this.chatId, this.sessionStart, this.groupId)); |             await CoreUtils.ignoreErrors(AddonModChat.invalidateSessionMessages(this.chatId, this.sessionStart, this.groupId)); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -16,7 +16,6 @@ import { AfterViewInit, Component, OnDestroy, OnInit, ViewChild } from '@angular | |||||||
| import { CoreListItemsManager } from '@classes/items-management/list-items-manager'; | import { CoreListItemsManager } from '@classes/items-management/list-items-manager'; | ||||||
| import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | ||||||
| import { CoreSplitViewComponent } from '@components/split-view/split-view'; | import { CoreSplitViewComponent } from '@components/split-view/split-view'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreGroupInfo } from '@services/groups'; | import { CoreGroupInfo } from '@services/groups'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -143,7 +142,7 @@ export class AddonModChatSessionsPage implements OnInit, AfterViewInit, OnDestro | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshSessions(refresher: IonRefresher): Promise<void> { |     async refreshSessions(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             this.sessions.getSource().setDirty(true); |             this.sessions.getSource().setDirty(true); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ import { CoreCommentsCommentsComponent } from '@features/comments/components/com | |||||||
| import { CoreComments } from '@features/comments/services/comments'; | import { CoreComments } from '@features/comments/services/comments'; | ||||||
| import { CoreCourse } from '@features/course/services/course'; | import { CoreCourse } from '@features/course/services/course'; | ||||||
| import { CoreRatingInfo } from '@features/rating/services/rating'; | import { CoreRatingInfo } from '@features/rating/services/rating'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| import { CoreGroups, CoreGroupInfo } from '@services/groups'; | import { CoreGroups, CoreGroupInfo } from '@services/groups'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -286,7 +286,7 @@ export class AddonModDataEntryPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshDatabase(refresher?: IonRefresher): void { |     refreshDatabase(refresher?: HTMLIonRefresherElement): void { | ||||||
|         if (!this.entryLoaded) { |         if (!this.entryLoaded) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/ | |||||||
| import { CoreListItemsManager } from '@classes/items-management/list-items-manager'; | import { CoreListItemsManager } from '@classes/items-management/list-items-manager'; | ||||||
| import { CorePromisedValue } from '@classes/promised-value'; | import { CorePromisedValue } from '@classes/promised-value'; | ||||||
| import { CoreSplitViewComponent } from '@components/split-view/split-view'; | import { CoreSplitViewComponent } from '@components/split-view/split-view'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreGroupInfo } from '@services/groups'; | import { CoreGroupInfo } from '@services/groups'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -175,7 +174,7 @@ export class AddonModFeedbackAttemptsPage implements AfterViewInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshFeedback(refresher: IonRefresher): Promise<void> { |     async refreshFeedback(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         const attempts = await this.promisedAttempts; |         const attempts = await this.promisedAttempts; | ||||||
| 
 | 
 | ||||||
|         try { |         try { | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreGroupInfo, CoreGroups } from '@services/groups'; | import { CoreGroupInfo, CoreGroups } from '@services/groups'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -174,7 +173,7 @@ export class AddonModFeedbackNonRespondentsPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshFeedback(refresher: IonRefresher): Promise<void> { |     async refreshFeedback(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             const promises: Promise<void>[] = []; |             const promises: Promise<void>[] = []; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ import { CoreRatingOffline } from '@features/rating/services/rating-offline'; | |||||||
| import { CoreRatingSyncProvider } from '@features/rating/services/rating-sync'; | import { CoreRatingSyncProvider } from '@features/rating/services/rating-sync'; | ||||||
| import { CoreUser } from '@features/user/services/user'; | import { CoreUser } from '@features/user/services/user'; | ||||||
| import { CanLeave } from '@guards/can-leave'; | import { CanLeave } from '@guards/can-leave'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| import { CoreNetwork } from '@services/network'; | import { CoreNetwork } from '@services/network'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreScreen } from '@services/screen'; | import { CoreScreen } from '@services/screen'; | ||||||
| @ -650,7 +650,7 @@ export class AddonModForumDiscussionPage implements OnInit, AfterViewInit, OnDes | |||||||
|      * @param showErrors If show errors to the user of hide them. |      * @param showErrors If show errors to the user of hide them. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher | null, done?: () => void, showErrors: boolean = false): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement | null, done?: () => void, showErrors: boolean = false): Promise<void> { | ||||||
|         if (this.discussionLoaded) { |         if (this.discussionLoaded) { | ||||||
|             await this.refreshPosts(true, showErrors).finally(() => { |             await this.refreshPosts(true, showErrors).finally(() => { | ||||||
|                 refresher?.complete(); |                 refresher?.complete(); | ||||||
|  | |||||||
| @ -34,7 +34,6 @@ import { CoreSync } from '@services/sync'; | |||||||
| import { AddonModForumDiscussionOptions, AddonModForumOffline } from '@addons/mod/forum/services/forum-offline'; | import { AddonModForumDiscussionOptions, AddonModForumOffline } from '@addons/mod/forum/services/forum-offline'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| import { AddonModForumHelper } from '@addons/mod/forum/services/forum-helper'; | import { AddonModForumHelper } from '@addons/mod/forum/services/forum-helper'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreFileUploader } from '@features/fileuploader/services/fileuploader'; | import { CoreFileUploader } from '@features/fileuploader/services/fileuploader'; | ||||||
| import { CoreTextUtils } from '@services/utils/text'; | import { CoreTextUtils } from '@services/utils/text'; | ||||||
| import { CanLeave } from '@guards/can-leave'; | import { CanLeave } from '@guards/can-leave'; | ||||||
| @ -453,7 +452,7 @@ export class AddonModForumNewDiscussionPage implements OnInit, OnDestroy, CanLea | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshGroups(refresher?: IonRefresher): void { |     refreshGroups(refresher?: HTMLIonRefresherElement): void { | ||||||
|         const promises = [ |         const promises = [ | ||||||
|             CoreGroups.invalidateActivityGroupMode(this.cmId), |             CoreGroups.invalidateActivityGroupMode(this.cmId), | ||||||
|             CoreGroups.invalidateActivityAllowedGroups(this.cmId), |             CoreGroups.invalidateActivityAllowedGroups(this.cmId), | ||||||
|  | |||||||
| @ -24,7 +24,6 @@ import { CoreComments } from '@features/comments/services/comments'; | |||||||
| import { CoreRatingInfo } from '@features/rating/services/rating'; | import { CoreRatingInfo } from '@features/rating/services/rating'; | ||||||
| import { CoreTag } from '@features/tag/services/tag'; | import { CoreTag } from '@features/tag/services/tag'; | ||||||
| import { FileEntry } from '@ionic-native/file/ngx'; | import { FileEntry } from '@ionic-native/file/ngx'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreNetwork } from '@services/network'; | import { CoreNetwork } from '@services/network'; | ||||||
| import { CoreDomUtils, ToastDuration } from '@services/utils/dom'; | import { CoreDomUtils, ToastDuration } from '@services/utils/dom'; | ||||||
| @ -228,7 +227,7 @@ export class AddonModGlossaryEntryPage implements OnInit, OnDestroy { | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         if (this.onlineEntry && this.glossary?.allowcomments && this.onlineEntry.id > 0 && this.commentsEnabled && this.comments) { |         if (this.onlineEntry && this.glossary?.allowcomments && this.onlineEntry.id > 0 && this.commentsEnabled && this.comments) { | ||||||
|             // Refresh comments asynchronously (without blocking the current promise).
 |             // Refresh comments asynchronously (without blocking the current promise).
 | ||||||
|             CoreUtils.ignoreErrors(this.comments.doRefresh()); |             CoreUtils.ignoreErrors(this.comments.doRefresh()); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| @ -94,7 +93,7 @@ export class AddonModH5PActivityAttemptResultsPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     doRefresh(refresher: IonRefresher): void { |     doRefresh(refresher: HTMLIonRefresherElement): void { | ||||||
|         this.refreshData().finally(() => { |         this.refreshData().finally(() => { | ||||||
|             refresher.complete(); |             refresher.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| @ -97,7 +96,7 @@ export class AddonModH5PActivityUserAttemptsPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     doRefresh(refresher: IonRefresher): void { |     doRefresh(refresher: HTMLIonRefresherElement): void { | ||||||
|         this.refreshData().finally(() => { |         this.refreshData().finally(() => { | ||||||
|             refresher.complete(); |             refresher.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -90,7 +89,7 @@ export class AddonModH5PActivityUsersAttemptsPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     doRefresh(refresher: IonRefresher): void { |     doRefresh(refresher: HTMLIonRefresherElement): void { | ||||||
|         this.refreshData().finally(() => { |         this.refreshData().finally(() => { | ||||||
|             refresher.complete(); |             refresher.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -20,7 +20,6 @@ import { CoreCourseResourceDownloadResult } from '@features/course/classes/main- | |||||||
| import { CoreCourse } from '@features/course/services/course'; | import { CoreCourse } from '@features/course/services/course'; | ||||||
| import { CoreCourseModuleData } from '@features/course/services/course-helper'; | import { CoreCourseModuleData } from '@features/course/services/course-helper'; | ||||||
| import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNetwork } from '@services/network'; | import { CoreNetwork } from '@services/network'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -214,7 +213,7 @@ export class AddonModImscpViewPage implements OnInit { | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(Promise.all([ |         await CoreUtils.ignoreErrors(Promise.all([ | ||||||
|             AddonModImscp.invalidateContent(this.cmId, this.courseId), |             AddonModImscp.invalidateContent(this.cmId, this.courseId), | ||||||
|             CoreCourseModulePrefetchDelegate.invalidateCourseUpdates(this.courseId), // To detect if IMSCP was updated.
 |             CoreCourseModulePrefetchDelegate.invalidateCourseUpdates(this.courseId), // To detect if IMSCP was updated.
 | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreError } from '@classes/errors/error'; | import { CoreError } from '@classes/errors/error'; | ||||||
| import { CoreUser } from '@features/user/services/user'; | import { CoreUser } from '@features/user/services/user'; | ||||||
| @ -114,7 +113,7 @@ export class AddonModLessonUserRetakePage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     doRefresh(refresher: IonRefresher): void { |     doRefresh(refresher: HTMLIonRefresherElement): void { | ||||||
|         this.refreshData().finally(() => { |         this.refreshData().finally(() => { | ||||||
|             refresher?.complete(); |             refresher?.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -15,7 +15,6 @@ | |||||||
| import { isSafeNumber } from '@/core/utils/types'; | import { isSafeNumber } from '@/core/utils/types'; | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { CoreError } from '@classes/errors/error'; | import { CoreError } from '@classes/errors/error'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| @ -75,7 +74,7 @@ export class AddonModQuizAttemptPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     doRefresh(refresher: IonRefresher): void { |     doRefresh(refresher: HTMLIonRefresherElement): void { | ||||||
|         this.refreshData().finally(() => { |         this.refreshData().finally(() => { | ||||||
|             refresher.complete(); |             refresher.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -15,7 +15,7 @@ | |||||||
| import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'; | import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { CoreQuestionQuestionParsed } from '@features/question/services/question'; | import { CoreQuestionQuestionParsed } from '@features/question/services/question'; | ||||||
| import { CoreQuestionHelper } from '@features/question/services/question-helper'; | import { CoreQuestionHelper } from '@features/question/services/question-helper'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| @ -222,7 +222,7 @@ export class AddonModQuizReviewPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher |      * @param refresher Refresher | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher: IonRefresher): Promise<void> { |     async refreshData(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         const promises: Promise<void>[] = []; |         const promises: Promise<void>[] = []; | ||||||
| 
 | 
 | ||||||
|         promises.push(AddonModQuiz.invalidateQuizData(this.courseId)); |         promises.push(AddonModQuiz.invalidateQuizData(this.courseId)); | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ import { CoreCourse } from '@features/course/services/course'; | |||||||
| import { CoreGradesHelper, CoreGradesMenuItem } from '@features/grades/services/grades-helper'; | import { CoreGradesHelper, CoreGradesMenuItem } from '@features/grades/services/grades-helper'; | ||||||
| import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { CanLeave } from '@guards/can-leave'; | import { CanLeave } from '@guards/can-leave'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreSync } from '@services/sync'; | import { CoreSync } from '@services/sync'; | ||||||
| @ -343,7 +342,7 @@ export class AddonModWorkshopAssessmentPage implements OnInit, OnDestroy, CanLea | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshAssessment(refresher: IonRefresher): void { |     refreshAssessment(refresher: HTMLIonRefresherElement): void { | ||||||
|         if (this.loaded) { |         if (this.loaded) { | ||||||
|             this.refreshAllData().finally(() => { |             this.refreshAllData().finally(() => { | ||||||
|                 refresher?.complete(); |                 refresher?.complete(); | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ import { CoreCourseModuleData } from '@features/course/services/course-helper'; | |||||||
| import { CoreGradesHelper, CoreGradesMenuItem } from '@features/grades/services/grades-helper'; | import { CoreGradesHelper, CoreGradesMenuItem } from '@features/grades/services/grades-helper'; | ||||||
| import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { CanLeave } from '@guards/can-leave'; | import { CanLeave } from '@guards/can-leave'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreSync } from '@services/sync'; | import { CoreSync } from '@services/sync'; | ||||||
| @ -460,7 +460,7 @@ export class AddonModWorkshopSubmissionPage implements OnInit, OnDestroy, CanLea | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshSubmission(refresher: IonRefresher): void { |     refreshSubmission(refresher: HTMLIonRefresherElement): void { | ||||||
|         if (this.loaded) { |         if (this.loaded) { | ||||||
|             this.refreshAllData().finally(() => { |             this.refreshAllData().finally(() => { | ||||||
|                 refresher?.complete(); |                 refresher?.complete(); | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ import { AddonNotesSync, AddonNotesSyncProvider } from '@addons/notes/services/n | |||||||
| import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; | import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { CoreAnimations } from '@components/animations'; | import { CoreAnimations } from '@components/animations'; | ||||||
| import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | import { CoreUser, CoreUserProfile } from '@features/user/services/user'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| @ -156,7 +156,7 @@ export class AddonNotesListPage implements OnInit, OnDestroy { | |||||||
|      * @param showSyncErrors Whether to display sync errors or not. |      * @param showSyncErrors Whether to display sync errors or not. | ||||||
|      * @param refresher Refresher instance. |      * @param refresher Refresher instance. | ||||||
|      */ |      */ | ||||||
|     refreshNotes(showSyncErrors: boolean, refresher?: IonRefresher): void { |     refreshNotes(showSyncErrors: boolean, refresher?: HTMLIonRefresherElement): void { | ||||||
|         this.refreshIcon = CoreConstants.ICON_LOADING; |         this.refreshIcon = CoreConstants.ICON_LOADING; | ||||||
|         this.syncIcon = CoreConstants.ICON_LOADING; |         this.syncIcon = CoreConstants.ICON_LOADING; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { Subscription } from 'rxjs'; | import { Subscription } from 'rxjs'; | ||||||
| 
 | 
 | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -205,7 +204,7 @@ export class AddonNotificationsListPage implements AfterViewInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshNotifications(refresher?: IonRefresher): Promise<void> { |     async refreshNotifications(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(AddonNotifications.invalidateNotificationsList()); |         await CoreUtils.ignoreErrors(AddonNotifications.invalidateNotificationsList()); | ||||||
|         await CoreUtils.ignoreErrors(this.fetchNotifications(true)); |         await CoreUtils.ignoreErrors(this.fetchNotifications(true)); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, OnDestroy } from '@angular/core'; | import { Component, OnInit, OnDestroy } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreConfig } from '@services/config'; | import { CoreConfig } from '@services/config'; | ||||||
| import { CoreLocalNotifications } from '@services/local-notifications'; | import { CoreLocalNotifications } from '@services/local-notifications'; | ||||||
| @ -192,7 +191,7 @@ export class AddonNotificationsSettingsPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshPreferences(refresher?: IonRefresher): Promise<void> { |     async refreshPreferences(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             await CoreUtils.ignoreErrors(AddonNotifications.invalidateNotificationPreferences()); |             await CoreUtils.ignoreErrors(AddonNotifications.invalidateNotificationPreferences()); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { Md5 } from 'ts-md5/dist/md5'; | import { Md5 } from 'ts-md5/dist/md5'; | ||||||
| 
 | 
 | ||||||
| import { CoreNetwork } from '@services/network'; | import { CoreNetwork } from '@services/network'; | ||||||
| @ -140,7 +139,7 @@ export class AddonPrivateFilesIndexPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshData(refresher?: IonRefresher): void { |     refreshData(refresher?: HTMLIonRefresherElement): void { | ||||||
|         this.refreshFiles().finally(() => { |         this.refreshFiles().finally(() => { | ||||||
|             refresher?.complete(); |             refresher?.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -19,7 +19,6 @@ import { CoreCourse, CoreCourseBlock } from '@features/course/services/course'; | |||||||
| import { CoreBlockHelper } from '../../services/block-helper'; | import { CoreBlockHelper } from '../../services/block-helper'; | ||||||
| import { CoreBlockComponent } from '../block/block'; | import { CoreBlockComponent } from '../block/block'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreCoursesDashboard } from '@features/courses/services/dashboard'; | import { CoreCoursesDashboard } from '@features/courses/services/dashboard'; | ||||||
| import { CoreTextUtils } from '@services/utils/text'; | import { CoreTextUtils } from '@services/utils/text'; | ||||||
| import { CoreDom } from '@singletons/dom'; | import { CoreDom } from '@singletons/dom'; | ||||||
| @ -110,7 +109,7 @@ export class CoreBlockSideBlocksComponent implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(this.invalidateBlocks()); |         await CoreUtils.ignoreErrors(this.invalidateBlocks()); | ||||||
| 
 | 
 | ||||||
|         await this.loadContent().finally(() => { |         await this.loadContent().finally(() => { | ||||||
|  | |||||||
| @ -26,7 +26,7 @@ import { | |||||||
|     CoreCommentsSync, |     CoreCommentsSync, | ||||||
|     CoreCommentsSyncProvider, |     CoreCommentsSyncProvider, | ||||||
| } from '@features/comments/services/comments-sync'; | } from '@features/comments/services/comments-sync'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| import { ContextLevel, CoreConstants } from '@/core/constants'; | import { ContextLevel, CoreConstants } from '@/core/constants'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { NgZone, Translate } from '@singletons'; | import { NgZone, Translate } from '@singletons'; | ||||||
| @ -249,7 +249,7 @@ export class CoreCommentsViewerPage implements OnInit, OnDestroy { | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Resolved when done. |      * @returns Resolved when done. | ||||||
|      */ |      */ | ||||||
|     async refreshComments(showErrors: boolean, refresher?: IonRefresher): Promise<void> { |     async refreshComments(showErrors: boolean, refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         this.commentsLoaded = false; |         this.commentsLoaded = false; | ||||||
|         this.refreshIcon = CoreConstants.ICON_LOADING; |         this.refreshIcon = CoreConstants.ICON_LOADING; | ||||||
|         this.syncIcon = CoreConstants.ICON_LOADING; |         this.syncIcon = CoreConstants.ICON_LOADING; | ||||||
|  | |||||||
| @ -15,7 +15,6 @@ | |||||||
| import { CoreConstants } from '@/core/constants'; | import { CoreConstants } from '@/core/constants'; | ||||||
| import { OnInit, OnDestroy, Input, Output, EventEmitter, Component, Optional, Inject } from '@angular/core'; | import { OnInit, OnDestroy, Input, Output, EventEmitter, Component, Optional, Inject } from '@angular/core'; | ||||||
| import { CoreAnyError } from '@classes/errors/error'; | import { CoreAnyError } from '@classes/errors/error'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNetwork } from '@services/network'; | import { CoreNetwork } from '@services/network'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -121,7 +120,7 @@ export class CoreCourseModuleMainResourceComponent implements OnInit, OnDestroy, | |||||||
|      * @param showErrors If show errors to the user of hide them. |      * @param showErrors If show errors to the user of hide them. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher | null, showErrors = false): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement | null, showErrors = false): Promise<void> { | ||||||
|         if (!this.module) { |         if (!this.module) { | ||||||
|             // Module can be undefined if course format changes from single activity to weekly/topics.
 |             // Module can be undefined if course format changes from single activity to weekly/topics.
 | ||||||
|             return; |             return; | ||||||
|  | |||||||
| @ -39,7 +39,7 @@ import { | |||||||
| } from '@features/course/services/course-helper'; | } from '@features/course/services/course-helper'; | ||||||
| import { CoreCourseFormatDelegate } from '@features/course/services/format-delegate'; | import { CoreCourseFormatDelegate } from '@features/course/services/format-delegate'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| import { CoreCourseCourseIndexComponent, CoreCourseIndexSectionWithModule } from '../course-index/course-index'; | import { CoreCourseCourseIndexComponent, CoreCourseIndexSectionWithModule } from '../course-index/course-index'; | ||||||
| import { CoreBlockHelper } from '@features/block/services/block-helper'; | import { CoreBlockHelper } from '@features/block/services/block-helper'; | ||||||
| @ -567,7 +567,7 @@ export class CoreCourseFormatComponent implements OnInit, OnChanges, OnDestroy { | |||||||
|      * @param afterCompletionChange Whether the refresh is due to a completion change. |      * @param afterCompletionChange Whether the refresh is due to a completion change. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher, done?: () => void, afterCompletionChange?: boolean): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement, done?: () => void, afterCompletionChange?: boolean): Promise<void> { | ||||||
|         const promises = this.dynamicComponents?.map(async (component) => { |         const promises = this.dynamicComponents?.map(async (component) => { | ||||||
|             await component.callComponentMethod('doRefresh', refresher, done, afterCompletionChange); |             await component.callComponentMethod('doRefresh', refresher, done, afterCompletionChange); | ||||||
|         }) || []; |         }) || []; | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ import { CoreCourseModuleDelegate } from '@features/course/services/module-deleg | |||||||
| import { CoreCourseUnsupportedModuleComponent } from '@features/course/components/unsupported-module/unsupported-module'; | import { CoreCourseUnsupportedModuleComponent } from '@features/course/components/unsupported-module/unsupported-module'; | ||||||
| import { CoreDynamicComponent } from '@components/dynamic-component/dynamic-component'; | import { CoreDynamicComponent } from '@components/dynamic-component/dynamic-component'; | ||||||
| import { CoreCourseAnyCourseData } from '@features/courses/services/courses'; | import { CoreCourseAnyCourseData } from '@features/courses/services/courses'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreCourseModuleCompletionData, CoreCourseSection } from '@features/course/services/course-helper'; | import { CoreCourseModuleCompletionData, CoreCourseSection } from '@features/course/services/course-helper'; | ||||||
| import { CoreCourse } from '@features/course/services/course'; | import { CoreCourse } from '@features/course/services/course'; | ||||||
| import type { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; | import type { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; | ||||||
| @ -80,7 +79,7 @@ export class CoreCourseFormatSingleActivityComponent implements OnChanges { | |||||||
|      * @param afterCompletionChange Whether the refresh is due to a completion change. |      * @param afterCompletionChange Whether the refresh is due to a completion change. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher, done?: () => void, afterCompletionChange?: boolean): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement, done?: () => void, afterCompletionChange?: boolean): Promise<void> { | ||||||
|         if (afterCompletionChange) { |         if (afterCompletionChange) { | ||||||
|             // Don't refresh the view after a completion change since completion isn't displayed.
 |             // Don't refresh the view after a completion change since completion isn't displayed.
 | ||||||
|             return; |             return; | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, ViewChild, OnInit, OnDestroy, forwardRef, ChangeDetectorRef } from '@angular/core'; | import { Component, ViewChild, OnInit, OnDestroy, forwardRef, ChangeDetectorRef } from '@angular/core'; | ||||||
| import { IonContent, IonRefresher } from '@ionic/angular'; | import { IonContent } from '@ionic/angular'; | ||||||
| 
 | 
 | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| @ -291,7 +291,7 @@ export class CoreCourseContentsPage implements OnInit, OnDestroy, CoreRefreshCon | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(this.invalidateData()); |         await CoreUtils.ignoreErrors(this.invalidateData()); | ||||||
| 
 | 
 | ||||||
|         try { |         try { | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit, Input, ViewChild, ElementRef } from '@angular/core'; | import { Component, OnDestroy, OnInit, Input, ViewChild, ElementRef } from '@angular/core'; | ||||||
| import { ActionSheetButton, IonRefresher } from '@ionic/angular'; | import { ActionSheetButton } from '@ionic/angular'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -402,7 +402,7 @@ export class CoreCourseSummaryPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher The refresher if this was triggered by a Pull To Refresh. |      * @param refresher The refresher if this was triggered by a Pull To Refresh. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher?: IonRefresher): Promise<void> { |     async refreshData(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         const promises: Promise<void>[] = []; |         const promises: Promise<void>[] = []; | ||||||
| 
 | 
 | ||||||
|         promises.push(CoreCourses.invalidateUserCourses()); |         promises.push(CoreCourses.invalidateUserCourses()); | ||||||
|  | |||||||
| @ -20,7 +20,6 @@ import { CoreCourseModuleDelegate } from '@features/course/services/module-deleg | |||||||
| import { CoreCourseHelper, CoreCourseSection } from '@features/course/services/course-helper'; | import { CoreCourseHelper, CoreCourseSection } from '@features/course/services/course-helper'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreConstants } from '@/core/constants'; | import { CoreConstants } from '@/core/constants'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| import { CoreTime } from '@singletons/time'; | import { CoreTime } from '@singletons/time'; | ||||||
| import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | ||||||
| @ -167,7 +166,7 @@ export class CoreCourseListModTypePage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher: IonRefresher): Promise<void> { |     async refreshData(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(CoreCourse.invalidateSections(this.courseId)); |         await CoreUtils.ignoreErrors(CoreCourse.invalidateSections(this.courseId)); | ||||||
| 
 | 
 | ||||||
|         try { |         try { | ||||||
|  | |||||||
| @ -20,7 +20,6 @@ import { | |||||||
| import { CoreCourse } from '@features/course/services/course'; | import { CoreCourse } from '@features/course/services/course'; | ||||||
| import { CoreCourseHelper, CoreCourseModuleData, CoreCourseSection } from '@features/course/services/course-helper'; | import { CoreCourseHelper, CoreCourseModuleData, CoreCourseSection } from '@features/course/services/course-helper'; | ||||||
| import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -140,7 +139,7 @@ export class CoreCourseModulePreviewPage implements OnInit { | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
| 
 | 
 | ||||||
|         await CoreCourse.invalidateModule(this.module.id); |         await CoreCourse.invalidateModule(this.module.id); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
| 
 | 
 | ||||||
| import { Injectable, Type } from '@angular/core'; | import { Injectable, Type } from '@angular/core'; | ||||||
| import { SafeUrl } from '@angular/platform-browser'; | import { SafeUrl } from '@angular/platform-browser'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreSite } from '@classes/site'; | import { CoreSite } from '@classes/site'; | ||||||
| import { CoreCourseModuleDefaultHandler } from './handlers/default-module'; | import { CoreCourseModuleDefaultHandler } from './handlers/default-module'; | ||||||
| @ -234,7 +233,7 @@ export interface CoreCourseModuleMainComponent { | |||||||
|      * @param showErrors If show errors to the user of hide them. |      * @param showErrors If show errors to the user of hide them. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     doRefresh(refresher?: IonRefresher | null, showErrors?: boolean): Promise<void>; |     doRefresh(refresher?: HTMLIonRefresherElement | null, showErrors?: boolean): Promise<void>; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| @ -163,7 +162,7 @@ export class CoreCoursesCategoriesPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshCategories(refresher?: IonRefresher): void { |     refreshCategories(refresher?: HTMLIonRefresherElement): void { | ||||||
|         const promises: Promise<void>[] = []; |         const promises: Promise<void>[] = []; | ||||||
| 
 | 
 | ||||||
|         promises.push(CoreCourses.invalidateUserCourses()); |         promises.push(CoreCourses.invalidateUserCourses()); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit, QueryList, ViewChildren } from '@angular/core'; | import { Component, OnDestroy, OnInit, QueryList, ViewChildren } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreCourses } from '../../services/courses'; | import { CoreCourses } from '../../services/courses'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| @ -146,7 +145,7 @@ export class CoreCoursesDashboardPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshDashboard(refresher: IonRefresher): void { |     refreshDashboard(refresher: HTMLIonRefresherElement): void { | ||||||
|         const promises: Promise<void>[] = []; |         const promises: Promise<void>[] = []; | ||||||
| 
 | 
 | ||||||
|         promises.push(CoreCoursesDashboard.invalidateDashboardBlocks()); |         promises.push(CoreCoursesDashboard.invalidateDashboardBlocks()); | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { CoreCoursesHelper, CoreEnrolledCourseDataWithExtraInfo } from '@features/courses/services/courses-helper'; | import { CoreCoursesHelper, CoreEnrolledCourseDataWithExtraInfo } from '@features/courses/services/courses-helper'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -215,7 +214,7 @@ export class CoreCoursesListPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshCourses(refresher: IonRefresher): void { |     refreshCourses(refresher: HTMLIonRefresherElement): void { | ||||||
|         const promises: Promise<void>[] = []; |         const promises: Promise<void>[] = []; | ||||||
| 
 | 
 | ||||||
|         if (!this.searchMode) { |         if (!this.searchMode) { | ||||||
|  | |||||||
| @ -22,7 +22,6 @@ import { CoreBlockDelegate } from '@features/block/services/block-delegate'; | |||||||
| import { CoreCourseBlock } from '@features/course/services/course'; | import { CoreCourseBlock } from '@features/course/services/course'; | ||||||
| import { CoreCoursesDashboard, CoreCoursesDashboardProvider } from '@features/courses/services/dashboard'; | import { CoreCoursesDashboard, CoreCoursesDashboardProvider } from '@features/courses/services/dashboard'; | ||||||
| import { CoreMainMenuDeepLinkManager } from '@features/mainmenu/classes/deep-link-manager'; | import { CoreMainMenuDeepLinkManager } from '@features/mainmenu/classes/deep-link-manager'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| @ -181,7 +180,7 @@ export class CoreCoursesMyPage implements OnInit, OnDestroy, AsyncDirective { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refresh(refresher?: IonRefresher): Promise<void> { |     async refresh(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
| 
 | 
 | ||||||
|         const promises: Promise<void>[] = []; |         const promises: Promise<void>[] = []; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
| 
 | 
 | ||||||
| import { ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'; | import { ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'; | ||||||
| import { AfterViewInit, Component, ElementRef, OnDestroy } from '@angular/core'; | import { AfterViewInit, Component, ElementRef, OnDestroy } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreGrades } from '@features/grades/services/grades'; | import { CoreGrades } from '@features/grades/services/grades'; | ||||||
| @ -185,7 +184,7 @@ export class CoreGradesCoursePage implements AfterViewInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshGrades(refresher: IonRefresher): Promise<void> { |     async refreshGrades(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(CoreGrades.invalidateCourseGradesData(this.courseId, this.userId)); |         await CoreUtils.ignoreErrors(CoreGrades.invalidateCourseGradesData(this.courseId, this.userId)); | ||||||
|         await CoreUtils.ignoreErrors(this.fetchGrades()); |         await CoreUtils.ignoreErrors(this.fetchGrades()); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -19,7 +19,6 @@ import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/ | |||||||
| import { CoreSplitViewComponent } from '@components/split-view/split-view'; | import { CoreSplitViewComponent } from '@components/split-view/split-view'; | ||||||
| import { CoreGradesCoursesSource } from '@features/grades/classes/grades-courses-source'; | import { CoreGradesCoursesSource } from '@features/grades/classes/grades-courses-source'; | ||||||
| import { CoreGrades } from '@features/grades/services/grades'; | import { CoreGrades } from '@features/grades/services/grades'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -66,7 +65,7 @@ export class CoreGradesCoursesPage implements OnDestroy, AfterViewInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshCourses(refresher: IonRefresher): Promise<void> { |     async refreshCourses(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(CoreGrades.invalidateCoursesGradesData()); |         await CoreUtils.ignoreErrors(CoreGrades.invalidateCoursesGradesData()); | ||||||
|         await CoreUtils.ignoreErrors(this.courses.reload()); |         await CoreUtils.ignoreErrors(this.courses.reload()); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -20,7 +20,6 @@ import { | |||||||
|     CoreReportBuilderRetrieveReportMapped, |     CoreReportBuilderRetrieveReportMapped, | ||||||
|     REPORT_ROWS_LIMIT, |     REPORT_ROWS_LIMIT, | ||||||
| } from '@features/reportbuilder/services/reportbuilder'; | } from '@features/reportbuilder/services/reportbuilder'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreScreen } from '@services/screen'; | import { CoreScreen } from '@services/screen'; | ||||||
| @ -170,7 +169,7 @@ export class CoreReportBuilderReportDetailComponent implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param ionRefresher ionic refresher. |      * @param ionRefresher ionic refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshReport(ionRefresher?: IonRefresher): Promise<void> { |     async refreshReport(ionRefresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(CoreReportBuilder.invalidateReport()); |         await CoreUtils.ignoreErrors(CoreReportBuilder.invalidateReport()); | ||||||
|         this.updateState({ page: 0, canLoadMoreRows: false }); |         this.updateState({ page: 0, canLoadMoreRows: false }); | ||||||
|         await CoreUtils.ignoreErrors(this.getReport()); |         await CoreUtils.ignoreErrors(this.getReport()); | ||||||
|  | |||||||
| @ -17,7 +17,6 @@ import { CoreListItemsManager } from '@classes/items-management/list-items-manag | |||||||
| import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/routed-items-manager-sources-tracker'; | ||||||
| import { CoreReportBuilderReportsSource } from '@features/reportbuilder/classes/reports-source'; | import { CoreReportBuilderReportsSource } from '@features/reportbuilder/classes/reports-source'; | ||||||
| import { CoreReportBuilder, CoreReportBuilderReport, REPORTS_LIST_LIMIT } from '@features/reportbuilder/services/reportbuilder'; | import { CoreReportBuilder, CoreReportBuilderReport, REPORTS_LIST_LIMIT } from '@features/reportbuilder/services/reportbuilder'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; | ||||||
| import { CoreNavigator } from '@services/navigator'; | import { CoreNavigator } from '@services/navigator'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -114,7 +113,7 @@ export class CoreReportBuilderListPage implements AfterViewInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param ionRefresher ionRefresher. |      * @param ionRefresher ionRefresher. | ||||||
|      */ |      */ | ||||||
|     async refreshReports(ionRefresher?: IonRefresher): Promise<void> { |     async refreshReports(ionRefresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(CoreReportBuilder.invalidateReportsList()); |         await CoreUtils.ignoreErrors(CoreReportBuilder.invalidateReportsList()); | ||||||
|         await CoreUtils.ignoreErrors(this.fetchReports(true)); |         await CoreUtils.ignoreErrors(this.fetchReports(true)); | ||||||
|         await ionRefresher?.complete(); |         await ionRefresher?.complete(); | ||||||
|  | |||||||
| @ -22,7 +22,6 @@ import { | |||||||
| } from '@features/search/services/global-search'; | } from '@features/search/services/global-search'; | ||||||
| import { CoreEvents } from '@singletons/events'; | import { CoreEvents } from '@singletons/events'; | ||||||
| import { ModalController } from '@singletons'; | import { ModalController } from '@singletons'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| 
 | 
 | ||||||
| type Filter<T=unknown> = T & { checked: boolean }; | type Filter<T=unknown> = T & { checked: boolean }; | ||||||
| @ -145,7 +144,7 @@ export class CoreSearchGlobalSearchFiltersComponent implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshFilters(refresher?: IonRefresher): Promise<void> { |     async refreshFilters(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(Promise.all([ |         await CoreUtils.ignoreErrors(Promise.all([ | ||||||
|             CoreSearchGlobalSearch.invalidateSearchAreas(), |             CoreSearchGlobalSearch.invalidateSearchAreas(), | ||||||
|             CoreCourses.invalidateUserCourses(), |             CoreCourses.invalidateUserCourses(), | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreSettingsHandlerToDisplay, CoreSettingsPageHandlerToDisplay } from '../../services/settings-delegate'; | import { CoreSettingsHandlerToDisplay, CoreSettingsPageHandlerToDisplay } from '../../services/settings-delegate'; | ||||||
| import { CoreEventObserver, CoreEvents } from '@singletons/events'; | import { CoreEventObserver, CoreEvents } from '@singletons/events'; | ||||||
| @ -140,7 +139,7 @@ export class CoreSitePreferencesPage implements AfterViewInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshData(refresher?: IonRefresher): void { |     refreshData(refresher?: HTMLIonRefresherElement): void { | ||||||
|         this.handlers.getSource().setDirty(true); |         this.handlers.getSource().setDirty(true); | ||||||
|         this.fetchData().finally(() => { |         this.fetchData().finally(() => { | ||||||
|             refresher?.complete(); |             refresher?.complete(); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreSiteBasicInfo, CoreSites } from '@services/sites'; | import { CoreSiteBasicInfo, CoreSites } from '@services/sites'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| @ -155,7 +154,7 @@ export class CoreSettingsSpaceUsagePage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher event. |      * @param refresher Refresher event. | ||||||
|      */ |      */ | ||||||
|     refreshData(refresher?: IonRefresher): void { |     refreshData(refresher?: HTMLIonRefresherElement): void { | ||||||
|         this.loadSiteData().finally(() => { |         this.loadSiteData().finally(() => { | ||||||
|             refresher?.complete(); |             refresher?.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
| 
 | 
 | ||||||
| import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core'; | import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core'; | ||||||
| import { FileEntry, DirectoryEntry } from '@ionic-native/file/ngx'; | import { FileEntry, DirectoryEntry } from '@ionic-native/file/ngx'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { Md5 } from 'ts-md5'; | import { Md5 } from 'ts-md5'; | ||||||
| 
 | 
 | ||||||
| import { CoreSharedFiles } from '@features/sharedfiles/services/sharedfiles'; | import { CoreSharedFiles } from '@features/sharedfiles/services/sharedfiles'; | ||||||
| @ -82,7 +81,7 @@ export class CoreSharedFilesListComponent implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshFiles(refresher: IonRefresher): void { |     refreshFiles(refresher: HTMLIonRefresherElement): void { | ||||||
|         this.loadFiles().finally(() => { |         this.loadFiles().finally(() => { | ||||||
|             refresher.complete(); |             refresher.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { ActivatedRoute } from '@angular/router'; | import { ActivatedRoute } from '@angular/router'; | ||||||
| 
 | 
 | ||||||
| import { CoreSite, CoreSiteConfig } from '@classes/site'; | import { CoreSite, CoreSiteConfig } from '@classes/site'; | ||||||
| @ -163,7 +162,7 @@ export class CoreSiteHomeIndexPage implements OnInit, OnDestroy { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     doRefresh(refresher?: IonRefresher): void { |     doRefresh(refresher?: HTMLIonRefresherElement): void { | ||||||
|         const promises: Promise<unknown>[] = []; |         const promises: Promise<unknown>[] = []; | ||||||
| 
 | 
 | ||||||
|         promises.push(CoreCourse.invalidateSections(this.siteHomeId)); |         promises.push(CoreCourse.invalidateSections(this.siteHomeId)); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnChanges, Input, ViewChild, HostBinding } from '@angular/core'; | import { Component, OnChanges, Input, ViewChild, HostBinding } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreCourseFormatComponent } from '@features/course/components/course-format/course-format'; | import { CoreCourseFormatComponent } from '@features/course/components/course-format/course-format'; | ||||||
| import { CoreCourseSection } from '@features/course/services/course-helper'; | import { CoreCourseSection } from '@features/course/services/course-helper'; | ||||||
| @ -93,7 +92,7 @@ export class CoreSitePluginsCourseFormatComponent implements OnChanges { | |||||||
|      * @param afterCompletionChange Whether the refresh is due to a completion change. |      * @param afterCompletionChange Whether the refresh is due to a completion change. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher, done?: () => void, afterCompletionChange?: boolean): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement, done?: () => void, afterCompletionChange?: boolean): Promise<void> { | ||||||
|         await this.content?.refreshContent(afterCompletionChange); |         await this.content?.refreshContent(afterCompletionChange); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -30,7 +30,6 @@ import { | |||||||
|     CoreSitePluginsContent, |     CoreSitePluginsContent, | ||||||
|     CoreSitePluginsCourseModuleHandlerData, |     CoreSitePluginsCourseModuleHandlerData, | ||||||
| } from '@features/siteplugins/services/siteplugins'; | } from '@features/siteplugins/services/siteplugins'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreUtils } from '@services/utils/utils'; | import { CoreUtils } from '@services/utils/utils'; | ||||||
| import { CoreSitePluginsPluginContentComponent, CoreSitePluginsPluginContentLoadedData } from '../plugin-content/plugin-content'; | import { CoreSitePluginsPluginContentComponent, CoreSitePluginsPluginContentLoadedData } from '../plugin-content/plugin-content'; | ||||||
| @ -122,7 +121,7 @@ export class CoreSitePluginsModuleIndexComponent implements OnInit, OnDestroy, C | |||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async doRefresh(refresher?: IonRefresher | null): Promise<void> { |     async doRefresh(refresher?: HTMLIonRefresherElement | null): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             await this.content?.refreshContent(false); |             await this.content?.refreshContent(false); | ||||||
|         } finally { |         } finally { | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreSitePluginsPluginContentComponent } from '@features/siteplugins/components/plugin-content/plugin-content'; | import { CoreSitePluginsPluginContentComponent } from '@features/siteplugins/components/plugin-content/plugin-content'; | ||||||
| import { CoreSitePlugins, CoreSitePluginsContent } from '@features/siteplugins/services/siteplugins'; | import { CoreSitePlugins, CoreSitePluginsContent } from '@features/siteplugins/services/siteplugins'; | ||||||
| @ -70,7 +69,7 @@ export class CoreSitePluginsCourseOptionPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher: IonRefresher): Promise<void> { |     async refreshData(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             await this.content?.refreshContent(false); |             await this.content?.refreshContent(false); | ||||||
|         } finally { |         } finally { | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreCourseModuleData } from '@features/course/services/course-helper'; | import { CoreCourseModuleData } from '@features/course/services/course-helper'; | ||||||
| import { CanLeave } from '@guards/can-leave'; | import { CanLeave } from '@guards/can-leave'; | ||||||
| @ -73,7 +72,7 @@ export class CoreSitePluginsModuleIndexPage implements OnInit, CanLeave { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshData(refresher: IonRefresher): void { |     refreshData(refresher: HTMLIonRefresherElement): void { | ||||||
|         this.content?.doRefresh().finally(() => { |         this.content?.doRefresh().finally(() => { | ||||||
|             refresher.complete(); |             refresher.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreSiteWSPreSets } from '@classes/site'; | import { CoreSiteWSPreSets } from '@classes/site'; | ||||||
| import { CoreSitePluginsContent } from '@features/siteplugins/services/siteplugins'; | import { CoreSitePluginsContent } from '@features/siteplugins/services/siteplugins'; | ||||||
| @ -61,7 +60,7 @@ export class CoreSitePluginsPluginPage implements OnInit, CanLeave { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshData(refresher: IonRefresher): void { |     refreshData(refresher: HTMLIonRefresherElement): void { | ||||||
|         this.content?.refreshContent(false).finally(() => { |         this.content?.refreshContent(false).finally(() => { | ||||||
|             refresher.complete(); |             refresher.complete(); | ||||||
|         }); |         }); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit, Type } from '@angular/core'; | import { Component, OnInit, Type } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreTag } from '@features/tag/services/tag'; | import { CoreTag } from '@features/tag/services/tag'; | ||||||
| import { ActivatedRoute } from '@angular/router'; | import { ActivatedRoute } from '@angular/router'; | ||||||
| @ -153,7 +152,7 @@ export class CoreTagIndexAreaPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshData(refresher?: IonRefresher): Promise<void> { |     async refreshData(refresher?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         try { |         try { | ||||||
|             await CoreTag.invalidateTagIndexPerArea( |             await CoreTag.invalidateTagIndexPerArea( | ||||||
|                 this.tagId, |                 this.tagId, | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| import { CoreTag } from '@features/tag/services/tag'; | import { CoreTag } from '@features/tag/services/tag'; | ||||||
| import { CoreTagAreaDelegate } from '@features/tag/services/tag-area-delegate'; | import { CoreTagAreaDelegate } from '@features/tag/services/tag-area-delegate'; | ||||||
| @ -149,7 +148,7 @@ export class CoreTagIndexPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     refreshData(refresher?: IonRefresher): void { |     refreshData(refresher?: HTMLIonRefresherElement): void { | ||||||
|         CoreTag.invalidateTagIndexPerArea( |         CoreTag.invalidateTagIndexPerArea( | ||||||
|             this.tagId, |             this.tagId, | ||||||
|             this.tagName, |             this.tagName, | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreApp } from '@services/app'; | import { CoreApp } from '@services/app'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -130,7 +129,7 @@ export class CoreTagSearchPage implements OnInit { | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher event. |      * @param refresher Refresher event. | ||||||
|      */ |      */ | ||||||
|     refreshData(refresher?: IonRefresher): void { |     refreshData(refresher?: HTMLIonRefresherElement): void { | ||||||
|         CoreUtils.allPromises([ |         CoreUtils.allPromises([ | ||||||
|             CoreTag.invalidateTagCollections(), |             CoreTag.invalidateTagCollections(), | ||||||
|             CoreTag.invalidateTagCloud(this.collectionId, undefined, undefined, this.query), |             CoreTag.invalidateTagCloud(this.collectionId, undefined, undefined, this.query), | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreSites } from '@services/sites'; | import { CoreSites } from '@services/sites'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -202,7 +201,7 @@ export class CoreUserAboutPage implements OnInit, OnDestroy { | |||||||
|      * @param event Event. |      * @param event Event. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async refreshUser(event?: IonRefresher): Promise<void> { |     async refreshUser(event?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(CoreUser.invalidateUserCache(this.userId)); |         await CoreUtils.ignoreErrors(CoreUser.invalidateUserCache(this.userId)); | ||||||
| 
 | 
 | ||||||
|         await this.fetchUser(); |         await this.fetchUser(); | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| // limitations under the License.
 | // limitations under the License.
 | ||||||
| 
 | 
 | ||||||
| import { AfterViewInit, Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; | import { AfterViewInit, Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| 
 | 
 | ||||||
| import { CoreApp } from '@services/app'; | import { CoreApp } from '@services/app'; | ||||||
| import { CoreDomUtils } from '@services/utils/dom'; | import { CoreDomUtils } from '@services/utils/dom'; | ||||||
| @ -136,7 +135,7 @@ export class CoreUserParticipantsPage implements OnInit, AfterViewInit, OnDestro | |||||||
|      * |      * | ||||||
|      * @param refresher Refresher. |      * @param refresher Refresher. | ||||||
|      */ |      */ | ||||||
|     async refreshParticipants(refresher: IonRefresher): Promise<void> { |     async refreshParticipants(refresher: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(CoreUser.invalidateParticipantsList(this.courseId)); |         await CoreUtils.ignoreErrors(CoreUser.invalidateParticipantsList(this.courseId)); | ||||||
|         await CoreUtils.ignoreErrors(this.fetchParticipants(true)); |         await CoreUtils.ignoreErrors(this.fetchParticipants(true)); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
| 
 | 
 | ||||||
| import { ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'; | import { ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'; | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { IonRefresher } from '@ionic/angular'; |  | ||||||
| import { Subscription } from 'rxjs'; | import { Subscription } from 'rxjs'; | ||||||
| 
 | 
 | ||||||
| import { CoreSite } from '@classes/site'; | import { CoreSite } from '@classes/site'; | ||||||
| @ -188,7 +187,7 @@ export class CoreUserProfilePage implements OnInit, OnDestroy { | |||||||
|      * @param event Event. |      * @param event Event. | ||||||
|      * @returns Promise resolved when done. |      * @returns Promise resolved when done. | ||||||
|      */ |      */ | ||||||
|     async refreshUser(event?: IonRefresher): Promise<void> { |     async refreshUser(event?: HTMLIonRefresherElement): Promise<void> { | ||||||
|         await CoreUtils.ignoreErrors(Promise.all([ |         await CoreUtils.ignoreErrors(Promise.all([ | ||||||
|             CoreUser.invalidateUserCache(this.userId), |             CoreUser.invalidateUserCache(this.userId), | ||||||
|             CoreCourses.invalidateUserNavigationOptions(), |             CoreCourses.invalidateUserNavigationOptions(), | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user