MOBILE-4245 dev: Listen staging sites changes after view enter

main
Alfonso Salces 2023-04-18 12:19:14 +02:00
parent 552cda8a5b
commit 95013c2fda
1 changed files with 4 additions and 6 deletions

View File

@ -45,7 +45,7 @@ export class CoreSettingsDevPage implements OnInit {
userToursEnabled = true; userToursEnabled = true;
stagingSitesCount = 0; stagingSitesCount = 0;
enableStagingSites?: boolean; enableStagingSites?: boolean;
listenStagingSitesChanges = false; previousEnableStagingSites?: boolean;
disabledFeatures: string[] = []; disabledFeatures: string[] = [];
@ -64,7 +64,7 @@ export class CoreSettingsDevPage implements OnInit {
if (this.stagingSitesCount) { if (this.stagingSitesCount) {
this.enableStagingSites = await CoreSettingsHelper.hasEnabledStagingSites(); this.enableStagingSites = await CoreSettingsHelper.hasEnabledStagingSites();
this.listenStagingSitesChanges = true; this.previousEnableStagingSites = this.enableStagingSites;
} }
if (!this.siteId) { if (!this.siteId) {
@ -170,17 +170,15 @@ export class CoreSettingsDevPage implements OnInit {
} }
async setEnabledStagingSites(enabled: boolean): Promise<void> { async setEnabledStagingSites(enabled: boolean): Promise<void> {
if (!this.listenStagingSitesChanges) { if (this.enableStagingSites === this.previousEnableStagingSites) {
this.listenStagingSitesChanges = true;
return; return;
} }
try { try {
await CoreSettingsHelper.setEnabledStagingSites(enabled); await CoreSettingsHelper.setEnabledStagingSites(enabled);
this.previousEnableStagingSites = enabled;
} catch (error) { } catch (error) {
this.enableStagingSites = !enabled; this.enableStagingSites = !enabled;
this.listenStagingSitesChanges = false;
CoreDomUtils.showErrorModal(error); CoreDomUtils.showErrorModal(error);
} }
} }