Feature/observable ext (#6670)

* refactor(nav-controller): refactor to better support dynamic component loading
This commit is contained in:
Dan Bucholtz
2016-05-27 13:49:37 -05:00
parent 4ba999e6a4
commit dfa991d409
12 changed files with 524 additions and 160 deletions

View File

@ -68,8 +68,53 @@ class E2EPage {
animation: 'my-fade-in'
});
}
presentNavigableModal(){
let modal = Modal.create(NavigableModal);
this.nav.present(modal);
//this.nav.push(NavigableModal);
}
}
@Page({
template: `
<ion-navbar *navbar>
<ion-title>Page One</ion-title>
</ion-navbar>
<ion-content>
<button full (click)="submit()">Submit</button>
</ion-content>
`
})
class NavigableModal{
constructor(private navController:NavController){
}
submit(){
this.navController.push(NavigableModal2);
}
}
@Page({
template: `
<ion-navbar *navbar>
<ion-title>Page Two</ion-title>
</ion-navbar>
<ion-content>
<button full (click)="submit()">Submit</button>
</ion-content>
`
})
class NavigableModal2{
constructor(private navController:NavController){
}
submit(){
this.navController.pop();
}
}
@Page({
template: `
@ -105,6 +150,10 @@ class ModalPassData {
this.viewCtrl.dismiss(this.data);
}
onPageLoaded(){
console.log("ModalPassData onPageLoaded fired");
}
onPageWillEnter(){
console.log("ModalPassData onPagewillEnter fired");
}
@ -280,15 +329,26 @@ class ModalFirstPage {
push() {
let page = ModalSecondPage;
let params = { id: 8675309, myData: [1,2,3,4] };
let opts = { animation: 'ios-transition' };
this.nav.push(page, params, opts);
this.nav.push(page, params);
}
dismiss() {
this.nav.rootNav.pop();
}
onPageLoaded(){
console.log("ModalFirstPage OnPageLoaded fired");
}
onPageWillEnter(){
console.log("ModalFirstPage onPageWillEnter fired");
}
onPageDidEnter(){
console.log("ModalFirstPage onPageDidEnter fired");
}
openActionSheet() {
let actionSheet = ActionSheet.create({
buttons: [
@ -352,12 +412,21 @@ class ModalFirstPage {
`
})
class ModalSecondPage {
constructor(
private nav: NavController,
params: NavParams
) {
constructor(private nav: NavController, params: NavParams) {
console.log('Second page params:', params);
}
onPageLoaded(){
console.log("ModalSecondPage onPageLoaded");
}
onPageWillEnter(){
console.log("ModalSecondPage onPageWillEnter");
}
onPageDidEnter(){
console.log("ModalSecondPage onPageDidEnter");
}
}
@ -398,4 +467,4 @@ class FadeOut extends Transition {
.before.addClass('show-page');
}
}
Transition.register('my-fade-out', FadeOut);
Transition.register('my-fade-out', FadeOut);