Skip to content

Commit 55a5e83

Browse files
committed
fix(nav): fix menuCtrl reference in swipe back
1 parent 76619cf commit 55a5e83

File tree

6 files changed

+18
-12
lines changed

6 files changed

+18
-12
lines changed

src/components/app/app.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ export class App {
249249
/**
250250
* @private
251251
*/
252-
getComponent(id: string): any {
252+
private getComponent(id: string): any {
253253
// deprecated warning: added 2016-04-28, beta7
254254
console.warn('Using app.getComponent() to query components has been deprecated. ' +
255255
'Please use Angular\'s ViewChild annotation instead:\n\nhttp://learnangular2.com/viewChild/');
@@ -259,7 +259,7 @@ export class App {
259259
* Get an instance of the global app injector that contains references to all of the instantiated providers
260260
* @returns {Injector}
261261
*/
262-
getAppInjector(): any {
262+
private getAppInjector(): any {
263263
// deprecated warning: added 2016-06-27, beta10
264264
console.warn('Recent Angular2 versions should no longer require App.getAppInjector()');
265265
}

src/components/app/test/app.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -446,15 +446,15 @@ describe('App', () => {
446446
var _cd: any;
447447

448448
function mockNav(): Nav {
449-
return new Nav(null, null, null, config, null, null, null, null, null);
449+
return new Nav(null, null, null, config, null, null, null, null, null, null);
450450
}
451451

452452
function mockTabs(): Tabs {
453453
return new Tabs(null, null, null, config, null, null, null);
454454
}
455455

456456
function mockTab(parentTabs: Tabs): Tab {
457-
var tab = new Tab(parentTabs, app, config, null, null, null, null, null, _cd);
457+
var tab = new Tab(parentTabs, app, config, null, null, null, null, null, _cd, null);
458458
parentTabs.add(tab);
459459
tab.root = SomePage;
460460
tab.load = function(opts: any, cb: Function) {

src/components/nav/nav-controller.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,8 @@ export class NavController extends Ion {
217217
elementRef: ElementRef,
218218
protected _zone: NgZone,
219219
protected _renderer: Renderer,
220-
protected _compiler: ComponentResolver
220+
protected _compiler: ComponentResolver,
221+
protected _menuCtrl: MenuController
221222
) {
222223
super(elementRef);
223224

@@ -1532,8 +1533,7 @@ export class NavController extends Ion {
15321533
edge: 'left',
15331534
threshold: this._sbThreshold
15341535
};
1535-
let menuCtrl = this._app.getAppInjector().get(MenuController);
1536-
this._sbGesture = new SwipeBackGesture(this.getNativeElement(), opts, this, menuCtrl);
1536+
this._sbGesture = new SwipeBackGesture(this.getNativeElement(), opts, this, this._menuCtrl);
15371537
}
15381538

15391539
if (this.canSwipeBack()) {

src/components/nav/nav-portal.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { ComponentResolver, Directive, ElementRef, forwardRef, Inject, NgZone, O
33
import { App } from '../app/app';
44
import { Config } from '../../config/config';
55
import { Keyboard } from '../../util/keyboard';
6+
import { MenuController } from '../menu/menu-controller';
67
import { NavController } from '../nav/nav-controller';
78

89
/**
@@ -20,9 +21,10 @@ export class NavPortal extends NavController {
2021
zone: NgZone,
2122
renderer: Renderer,
2223
compiler: ComponentResolver,
24+
menuCtrl: MenuController,
2325
viewPort: ViewContainerRef
2426
) {
25-
super(null, app, config, keyboard, elementRef, zone, renderer, compiler);
27+
super(null, app, config, keyboard, elementRef, zone, renderer, compiler, menuCtrl);
2628
this.isPortal = true;
2729
this.setViewport(viewPort);
2830
app.setPortal(this);

src/components/nav/nav.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { App } from '../app/app';
44
import { Config } from '../../config/config';
55
import { Keyboard } from '../../util/keyboard';
66
import { isTrueProperty } from '../../util/util';
7+
import { MenuController } from '../menu/menu-controller';
78
import { NavController } from './nav-controller';
89
import { ViewController } from './view-controller';
910

@@ -126,9 +127,10 @@ export class Nav extends NavController implements AfterViewInit {
126127
elementRef: ElementRef,
127128
zone: NgZone,
128129
renderer: Renderer,
129-
compiler: ComponentResolver
130+
compiler: ComponentResolver,
131+
menuCtrl: MenuController
130132
) {
131-
super(parent, app, config, keyboard, elementRef, zone, renderer, compiler);
133+
super(parent, app, config, keyboard, elementRef, zone, renderer, compiler, menuCtrl);
132134

133135
if (viewCtrl) {
134136
// an ion-nav can also act as an ion-page within a parent ion-nav

src/components/tabs/tab.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { App } from '../app/app';
44
import { Config } from '../../config/config';
55
import { isTrueProperty} from '../../util/util';
66
import { Keyboard} from '../../util/keyboard';
7+
import { MenuController } from '../menu/menu-controller';
78
import { NavController} from '../nav/nav-controller';
89
import { NavOptions} from '../nav/nav-options';
910
import { TabButton} from './tab-button';
@@ -227,10 +228,11 @@ export class Tab extends NavController {
227228
zone: NgZone,
228229
renderer: Renderer,
229230
compiler: ComponentResolver,
230-
private _cd: ChangeDetectorRef
231+
private _cd: ChangeDetectorRef,
232+
menuCtrl: MenuController
231233
) {
232234
// A Tab is a NavController for its child pages
233-
super(parent, app, config, keyboard, elementRef, zone, renderer, compiler);
235+
super(parent, app, config, keyboard, elementRef, zone, renderer, compiler, menuCtrl);
234236

235237
parent.add(this);
236238

0 commit comments

Comments
 (0)