refactor(angular): update angular specific nav stuff to only use interfaces from @ionic/core

This commit is contained in:
Dan Bucholtz
2017-11-22 15:41:53 -06:00
parent 2e2c9008af
commit b634ffcff3
2 changed files with 14 additions and 12 deletions

View File

@ -14,8 +14,10 @@ import {
ViewChild
} from '@angular/core';
import { NavController, ViewController } from '@ionic/core';
import { PublicNav, PublicViewController } from '@ionic/core';
import { App } from '../providers/app';
import { NavController as InjectableNavController } from '../providers/nav-controller';
@Component({
@ -36,7 +38,7 @@ export class IonNavDelegate {
controllerElement.delegate = this;
}
attachViewToDom(nav: NavController, enteringView: ViewController): Promise<any> {
attachViewToDom(nav: PublicNav, enteringView: PublicViewController): Promise<any> {
return new Promise((resolve, reject) => {
this.zone.run(() => {
@ -45,7 +47,7 @@ export class IonNavDelegate {
provide: NavControllerToken, useValue: nav.element,
},
{
provide: NavController, useFactory: provideNavControllerInjectable, deps: [NavControllerToken]
provide: InjectableNavController, useFactory: provideNavControllerInjectable, deps: [NavControllerToken]
},
{
@ -75,7 +77,7 @@ export class IonNavDelegate {
});
}
removeViewFromDom(nav: NavController, viewController: ViewController) {
removeViewFromDom(nav: PublicNav, viewController: PublicViewController) {
return new Promise((resolve, reject) => {
this.zone.run(() => {

View File

@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { NavOptions, PublicNavController, ViewController } from '@ionic/core';
import { NavOptions, PublicNav, PublicViewController } from '@ionic/core';
import { hydrateElement } from '../util/util';
export class NavController implements PublicNavController {
export class NavController implements PublicNav {
constructor(public element: HTMLIonNavElement) {
}
@ -54,7 +54,7 @@ export class NavController implements PublicNavController {
});
}
removeView(viewController: ViewController, opts?: NavOptions): Promise<any> {
removeView(viewController: PublicViewController, opts?: NavOptions): Promise<any> {
return hydrateElement(this.element).then((navElement: HTMLIonNavElement) => {
return navElement.removeView(viewController, opts);
});
@ -66,23 +66,23 @@ export class NavController implements PublicNavController {
});
}
getActive(): ViewController {
getActive(): PublicViewController {
if (this.element.getActive) {
return this.element.getActive();
}
return null;
}
getPrevious(view?: ViewController): ViewController {
getPrevious(view?: PublicViewController): PublicViewController {
if (this.element.getPrevious) {
return this.element.getPrevious(view);
}
return null;
}
canGoBack(nav: PublicNavController): boolean {
canGoBack(): boolean {
if (this.element.canGoBack) {
return this.element.canGoBack(nav as any);
return this.element.canGoBack();
}
return false;
}
@ -94,7 +94,7 @@ export class NavController implements PublicNavController {
return false;
}
getFirstView(): ViewController {
getFirstView(): PublicViewController {
if (this.element.getFirstView) {
return this.element.getFirstView();
}