diff --git a/src/components/app/app.ts b/src/components/app/app.ts index ea0ff269d10..807888b147c 100644 --- a/src/components/app/app.ts +++ b/src/components/app/app.ts @@ -249,7 +249,7 @@ export class App { /** * @private */ - getComponent(id: string): any { + private getComponent(id: string): any { // deprecated warning: added 2016-04-28, beta7 console.warn('Using app.getComponent() to query components has been deprecated. ' + 'Please use Angular\'s ViewChild annotation instead:\n\nhttp://learnangular2.com/viewChild/'); @@ -259,7 +259,7 @@ export class App { * Get an instance of the global app injector that contains references to all of the instantiated providers * @returns {Injector} */ - getAppInjector(): any { + private getAppInjector(): any { // deprecated warning: added 2016-06-27, beta10 console.warn('Recent Angular2 versions should no longer require App.getAppInjector()'); } diff --git a/src/components/app/test/app.spec.ts b/src/components/app/test/app.spec.ts index afe9f6b14f8..64442d3c3aa 100644 --- a/src/components/app/test/app.spec.ts +++ b/src/components/app/test/app.spec.ts @@ -446,7 +446,7 @@ describe('App', () => { var _cd: any; function mockNav(): Nav { - return new Nav(null, null, null, config, null, null, null, null, null); + return new Nav(null, null, null, config, null, null, null, null, null, null); } function mockTabs(): Tabs { @@ -454,7 +454,7 @@ describe('App', () => { } function mockTab(parentTabs: Tabs): Tab { - var tab = new Tab(parentTabs, app, config, null, null, null, null, null, _cd); + var tab = new Tab(parentTabs, app, config, null, null, null, null, null, _cd, null); parentTabs.add(tab); tab.root = SomePage; tab.load = function(opts: any, cb: Function) { diff --git a/src/components/nav/nav-controller.ts b/src/components/nav/nav-controller.ts index b2ea2b5899e..e098f22a249 100644 --- a/src/components/nav/nav-controller.ts +++ b/src/components/nav/nav-controller.ts @@ -217,7 +217,8 @@ export class NavController extends Ion { elementRef: ElementRef, protected _zone: NgZone, protected _renderer: Renderer, - protected _compiler: ComponentResolver + protected _compiler: ComponentResolver, + protected _menuCtrl: MenuController ) { super(elementRef); @@ -1532,8 +1533,7 @@ export class NavController extends Ion { edge: 'left', threshold: this._sbThreshold }; - let menuCtrl = this._app.getAppInjector().get(MenuController); - this._sbGesture = new SwipeBackGesture(this.getNativeElement(), opts, this, menuCtrl); + this._sbGesture = new SwipeBackGesture(this.getNativeElement(), opts, this, this._menuCtrl); } if (this.canSwipeBack()) { diff --git a/src/components/nav/nav-portal.ts b/src/components/nav/nav-portal.ts index 95a95bec4f2..d7bf91b1fd5 100644 --- a/src/components/nav/nav-portal.ts +++ b/src/components/nav/nav-portal.ts @@ -3,6 +3,7 @@ import { ComponentResolver, Directive, ElementRef, forwardRef, Inject, NgZone, O import { App } from '../app/app'; import { Config } from '../../config/config'; import { Keyboard } from '../../util/keyboard'; +import { MenuController } from '../menu/menu-controller'; import { NavController } from '../nav/nav-controller'; /** @@ -20,9 +21,10 @@ export class NavPortal extends NavController { zone: NgZone, renderer: Renderer, compiler: ComponentResolver, + menuCtrl: MenuController, viewPort: ViewContainerRef ) { - super(null, app, config, keyboard, elementRef, zone, renderer, compiler); + super(null, app, config, keyboard, elementRef, zone, renderer, compiler, menuCtrl); this.isPortal = true; this.setViewport(viewPort); app.setPortal(this); diff --git a/src/components/nav/nav.ts b/src/components/nav/nav.ts index 59cc949419d..c49123f595e 100644 --- a/src/components/nav/nav.ts +++ b/src/components/nav/nav.ts @@ -4,6 +4,7 @@ import { App } from '../app/app'; import { Config } from '../../config/config'; import { Keyboard } from '../../util/keyboard'; import { isTrueProperty } from '../../util/util'; +import { MenuController } from '../menu/menu-controller'; import { NavController } from './nav-controller'; import { ViewController } from './view-controller'; @@ -126,9 +127,10 @@ export class Nav extends NavController implements AfterViewInit { elementRef: ElementRef, zone: NgZone, renderer: Renderer, - compiler: ComponentResolver + compiler: ComponentResolver, + menuCtrl: MenuController ) { - super(parent, app, config, keyboard, elementRef, zone, renderer, compiler); + super(parent, app, config, keyboard, elementRef, zone, renderer, compiler, menuCtrl); if (viewCtrl) { // an ion-nav can also act as an ion-page within a parent ion-nav diff --git a/src/components/tabs/tab.ts b/src/components/tabs/tab.ts index 56fdb779c43..fc593584197 100644 --- a/src/components/tabs/tab.ts +++ b/src/components/tabs/tab.ts @@ -4,6 +4,7 @@ import { App } from '../app/app'; import { Config } from '../../config/config'; import { isTrueProperty} from '../../util/util'; import { Keyboard} from '../../util/keyboard'; +import { MenuController } from '../menu/menu-controller'; import { NavController} from '../nav/nav-controller'; import { NavOptions} from '../nav/nav-options'; import { TabButton} from './tab-button'; @@ -227,10 +228,11 @@ export class Tab extends NavController { zone: NgZone, renderer: Renderer, compiler: ComponentResolver, - private _cd: ChangeDetectorRef + private _cd: ChangeDetectorRef, + menuCtrl: MenuController ) { // A Tab is a NavController for its child pages - super(parent, app, config, keyboard, elementRef, zone, renderer, compiler); + super(parent, app, config, keyboard, elementRef, zone, renderer, compiler, menuCtrl); parent.add(this);