MOBILE-2795 mainmenu: Fix tab loaded without params
parent
453d971359
commit
13872e2209
|
@ -12,7 +12,7 @@
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
import { Component, OnDestroy, ViewChild } from '@angular/core';
|
import { Component, OnDestroy, ViewChild, ChangeDetectorRef } from '@angular/core';
|
||||||
import { IonicPage, NavController, NavParams } from 'ionic-angular';
|
import { IonicPage, NavController, NavParams } from 'ionic-angular';
|
||||||
import { CoreSitesProvider } from '@providers/sites';
|
import { CoreSitesProvider } from '@providers/sites';
|
||||||
import { CoreEventsProvider } from '@providers/events';
|
import { CoreEventsProvider } from '@providers/events';
|
||||||
|
@ -42,7 +42,7 @@ export class CoreMainMenuPage implements OnDestroy {
|
||||||
@ViewChild('mainTabs') mainTabs: CoreIonTabsComponent;
|
@ViewChild('mainTabs') mainTabs: CoreIonTabsComponent;
|
||||||
|
|
||||||
constructor(private menuDelegate: CoreMainMenuDelegate, private sitesProvider: CoreSitesProvider, navParams: NavParams,
|
constructor(private menuDelegate: CoreMainMenuDelegate, private sitesProvider: CoreSitesProvider, navParams: NavParams,
|
||||||
private navCtrl: NavController, private eventsProvider: CoreEventsProvider) {
|
private navCtrl: NavController, private eventsProvider: CoreEventsProvider, private cdr: ChangeDetectorRef) {
|
||||||
|
|
||||||
// Check if the menu was loaded with a redirect.
|
// Check if the menu was loaded with a redirect.
|
||||||
const redirectPage = navParams.get('redirectPage');
|
const redirectPage = navParams.get('redirectPage');
|
||||||
|
@ -138,6 +138,9 @@ export class CoreMainMenuPage implements OnDestroy {
|
||||||
this.redirectParams = data.redirectParams;
|
this.redirectParams = data.redirectParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Force change detection, otherwise sometimes the tab was selected before the params were applied.
|
||||||
|
this.cdr.detectChanges();
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// Let the tab load the params before navigating.
|
// Let the tab load the params before navigating.
|
||||||
this.mainTabs.selectTabRootByIndex(i + 1);
|
this.mainTabs.selectTabRootByIndex(i + 1);
|
||||||
|
|
Loading…
Reference in New Issue