diff --git a/src/components/menu/test/basic/app.module.ts b/src/components/menu/test/basic/app.module.ts
deleted file mode 100644
index 1f21535dff..0000000000
--- a/src/components/menu/test/basic/app.module.ts
+++ /dev/null
@@ -1,145 +0,0 @@
-import { Component, ViewChild, NgModule } from '@angular/core';
-import { BrowserModule } from '@angular/platform-browser';
-import { AlertController, IonicApp, IonicModule, MenuController, ModalController, NavController, Nav, ViewController } from '../../../..';
-
-
-@Component({
- templateUrl: 'page1.html'
-})
-export class Page1 {
- constructor(
- public navCtrl: NavController,
- public alertCtrl: AlertController,
- public modalCtrl: ModalController) { }
-
- myMenu: string = 'right';
-
- presentAlert() {
- let alert = this.alertCtrl.create({
- title: 'New Friend!',
- message: 'Your friend, Obi wan Kenobi, just accepted your friend request!',
- cssClass: 'my-alert',
- buttons: ['Ok']
- });
- alert.present();
- }
-
- presentModal() {
- let modal = this.modalCtrl.create(Modal);
- modal.present();
- }
-
- goToPage2() {
- this.navCtrl.push(Page2);
- }
-}
-
-@Component({ templateUrl: 'modal.html' })
-export class Modal {
- constructor(public viewController: ViewController) { }
- close() {
- this.viewController.dismiss();
- }
-}
-
-
-@Component({ templateUrl: 'page3.html' })
-export class Page3 { }
-
-
-@Component({ templateUrl: 'page2.html' })
-export class Page2 {
- constructor(public navCtrl: NavController) { }
-
- page3() {
- this.navCtrl.push(Page3);
- }
-}
-
-
-@Component({
- templateUrl: 'main.html'
-})
-export class E2EPage {
- rootPage: any;
- changeDetectionCount: number = 0;
- pages: Array<{ title: string, component: any }>;
- @ViewChild(Nav) nav: Nav;
-
- constructor(public menuCtrl: MenuController) {
- this.rootPage = Page1;
-
- this.pages = [
- { title: 'Page 1', component: Page1 },
- { title: 'Page 2', component: Page2 },
- { title: 'Page 3', component: Page3 },
- ];
- }
-
- openPage(page: any) {
- // Reset the content nav to have just this page
- // we wouldn't want the back button to show in this scenario
- this.nav.setRoot(page.component).then(() => {
- // wait for the root page to be completely loaded
- // then close the menu
- this.menuCtrl.close();
- });
- }
-
- openRightMenu() {
- this.menuCtrl.open('right');
- }
-
- openLeftMenu() {
- this.menuCtrl.open('left');
- }
-
- onDrag(ev: any) {
- console.log('Menu is being dragged', ev);
- }
-
- onOpen(ev: any) {
- console.log('Menu is open', ev);
- }
-
- onClose(ev: any) {
- console.log('Menu is closed', ev);
- }
-
- isChangeDetecting() {
- console.log('Change detection', ++this.changeDetectionCount);
- return true;
- }
-}
-
-@Component({
- template: ''
-})
-export class E2EApp {
- rootPage = E2EPage;
-}
-
-@NgModule({
- declarations: [
- E2EApp,
- E2EPage,
- Page1,
- Page2,
- Page3,
- Modal
- ],
- imports: [
- BrowserModule,
- IonicModule.forRoot(E2EApp)
- ],
- bootstrap: [IonicApp],
- entryComponents: [
- E2EApp,
- E2EPage,
- Page1,
- Page2,
- Page3,
- Modal
- ]
-})
-export class AppModule { }
diff --git a/src/components/menu/test/basic/app/app.component.ts b/src/components/menu/test/basic/app/app.component.ts
new file mode 100644
index 0000000000..7054ee8e44
--- /dev/null
+++ b/src/components/menu/test/basic/app/app.component.ts
@@ -0,0 +1,8 @@
+import { Component } from '@angular/core';
+
+@Component({
+ template: ''
+})
+export class E2EApp {
+ rootPage = 'E2EPage';
+}
diff --git a/src/components/menu/test/basic/app/app.module.ts b/src/components/menu/test/basic/app/app.module.ts
new file mode 100644
index 0000000000..5ea4fd1a13
--- /dev/null
+++ b/src/components/menu/test/basic/app/app.module.ts
@@ -0,0 +1,30 @@
+import { NgModule } from '@angular/core';
+import { BrowserModule } from '@angular/platform-browser';
+import { IonicApp, IonicModule } from '../../../../..';
+
+import { Modal } from '../pages/modal/modal';
+import { E2EApp } from './app.component';
+
+@NgModule({
+ declarations: [
+ E2EApp,
+ Modal,
+ ],
+ imports: [
+ BrowserModule,
+ IonicModule.forRoot(E2EApp, {}, {
+ links: [
+ { loadChildren: '../pages/main/main.module#E2EPageModule', name: 'E2EPage' },
+ { loadChildren: '../pages/page1/page1.module#Page1Module', name: 'Page1' },
+ { loadChildren: '../pages/page2/page2.module#Page2Module', name: 'Page2' },
+ { loadChildren: '../pages/page3/page3.module#Page3Module', name: 'Page3' },
+ ]
+ })
+ ],
+ bootstrap: [IonicApp],
+ entryComponents: [
+ E2EApp,
+ Modal,
+ ]
+})
+export class AppModule { }
diff --git a/src/components/menu/test/basic/main.ts b/src/components/menu/test/basic/app/main.ts
similarity index 100%
rename from src/components/menu/test/basic/main.ts
rename to src/components/menu/test/basic/app/main.ts
diff --git a/src/components/menu/test/basic/main.html b/src/components/menu/test/basic/pages/main/main.html
similarity index 100%
rename from src/components/menu/test/basic/main.html
rename to src/components/menu/test/basic/pages/main/main.html
diff --git a/src/components/menu/test/basic/pages/main/main.module.ts b/src/components/menu/test/basic/pages/main/main.module.ts
new file mode 100644
index 0000000000..1cc785fd59
--- /dev/null
+++ b/src/components/menu/test/basic/pages/main/main.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { E2EPage } from './main';
+
+@NgModule({
+ declarations: [
+ E2EPage,
+ ],
+ imports: [
+ DeepLinkModule.forChild(E2EPage)
+ ],
+ entryComponents: [
+ E2EPage,
+ ]
+})
+export class E2EPageModule {}
diff --git a/src/components/menu/test/basic/pages/main/main.ts b/src/components/menu/test/basic/pages/main/main.ts
new file mode 100644
index 0000000000..bf4f31c0b2
--- /dev/null
+++ b/src/components/menu/test/basic/pages/main/main.ts
@@ -0,0 +1,58 @@
+import { Component, ViewChild } from '@angular/core';
+import { MenuController, Nav } from '../../../../../..';
+
+
+@Component({
+ templateUrl: 'main.html'
+})
+export class E2EPage {
+ rootPage: any;
+ changeDetectionCount: number = 0;
+ pages: Array<{ title: string, component: any }>;
+ @ViewChild(Nav) nav: Nav;
+
+ constructor(public menuCtrl: MenuController) {
+ this.rootPage = 'Page1';
+
+ this.pages = [
+ { title: 'Page 1', component: 'Page1' },
+ { title: 'Page 2', component: 'Page2' },
+ { title: 'Page 3', component: 'Page3' },
+ ];
+ }
+
+ openPage(page: any) {
+ // Reset the content nav to have just this page
+ // we wouldn't want the back button to show in this scenario
+ this.nav.setRoot(page.component).then(() => {
+ // wait for the root page to be completely loaded
+ // then close the menu
+ this.menuCtrl.close();
+ });
+ }
+
+ openRightMenu() {
+ this.menuCtrl.open('right');
+ }
+
+ openLeftMenu() {
+ this.menuCtrl.open('left');
+ }
+
+ onDrag(ev: any) {
+ console.log('Menu is being dragged', ev);
+ }
+
+ onOpen(ev: any) {
+ console.log('Menu is open', ev);
+ }
+
+ onClose(ev: any) {
+ console.log('Menu is closed', ev);
+ }
+
+ isChangeDetecting() {
+ console.log('Change detection', ++this.changeDetectionCount);
+ return true;
+ }
+}
diff --git a/src/components/menu/test/basic/modal.html b/src/components/menu/test/basic/pages/modal/modal.html
similarity index 100%
rename from src/components/menu/test/basic/modal.html
rename to src/components/menu/test/basic/pages/modal/modal.html
diff --git a/src/components/menu/test/basic/pages/modal/modal.ts b/src/components/menu/test/basic/pages/modal/modal.ts
new file mode 100644
index 0000000000..44aeaa5a13
--- /dev/null
+++ b/src/components/menu/test/basic/pages/modal/modal.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core';
+import { ViewController } from '../../../../../..';
+
+@Component({ templateUrl: 'modal.html' })
+export class Modal {
+ constructor(public viewController: ViewController) { }
+ close() {
+ this.viewController.dismiss();
+ }
+}
diff --git a/src/components/menu/test/basic/page1.html b/src/components/menu/test/basic/pages/page1/page1.html
similarity index 98%
rename from src/components/menu/test/basic/page1.html
rename to src/components/menu/test/basic/pages/page1/page1.html
index a3b5f273c4..4be4824e20 100644
--- a/src/components/menu/test/basic/page1.html
+++ b/src/components/menu/test/basic/pages/page1/page1.html
@@ -7,7 +7,7 @@
- Menu
+ Menu!!!!!!!!!
diff --git a/src/components/menu/test/basic/pages/page1/page1.module.ts b/src/components/menu/test/basic/pages/page1/page1.module.ts
new file mode 100644
index 0000000000..6176a20dde
--- /dev/null
+++ b/src/components/menu/test/basic/pages/page1/page1.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { Page1 } from './page1';
+
+@NgModule({
+ declarations: [
+ Page1,
+ ],
+ imports: [
+ DeepLinkModule.forChild(Page1)
+ ],
+ entryComponents: [
+ Page1,
+ ]
+})
+export class Page1Module {}
diff --git a/src/components/menu/test/basic/pages/page1/page1.ts b/src/components/menu/test/basic/pages/page1/page1.ts
new file mode 100644
index 0000000000..05e21e3127
--- /dev/null
+++ b/src/components/menu/test/basic/pages/page1/page1.ts
@@ -0,0 +1,35 @@
+import { Component } from '@angular/core';
+import { AlertController, ModalController, NavController } from '../../../../../..';
+
+import { Modal } from '../modal/modal';
+
+@Component({
+ templateUrl: 'page1.html'
+})
+export class Page1 {
+ constructor(
+ public navCtrl: NavController,
+ public alertCtrl: AlertController,
+ public modalCtrl: ModalController) { }
+
+ myMenu: string = 'right';
+
+ presentAlert() {
+ let alert = this.alertCtrl.create({
+ title: 'New Friend!',
+ message: 'Your friend, Obi wan Kenobi, just accepted your friend request!',
+ cssClass: 'my-alert',
+ buttons: ['Ok']
+ });
+ alert.present();
+ }
+
+ presentModal() {
+ let modal = this.modalCtrl.create(Modal);
+ modal.present();
+ }
+
+ goToPage2() {
+ this.navCtrl.push('Page2');
+ }
+}
diff --git a/src/components/menu/test/basic/page2.html b/src/components/menu/test/basic/pages/page2/page2.html
similarity index 100%
rename from src/components/menu/test/basic/page2.html
rename to src/components/menu/test/basic/pages/page2/page2.html
diff --git a/src/components/menu/test/basic/pages/page2/page2.module.ts b/src/components/menu/test/basic/pages/page2/page2.module.ts
new file mode 100644
index 0000000000..0454380308
--- /dev/null
+++ b/src/components/menu/test/basic/pages/page2/page2.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { Page2 } from './page2';
+
+@NgModule({
+ declarations: [
+ Page2,
+ ],
+ imports: [
+ DeepLinkModule.forChild(Page2)
+ ],
+ entryComponents: [
+ Page2,
+ ]
+})
+export class Page2Module {}
diff --git a/src/components/menu/test/basic/pages/page2/page2.ts b/src/components/menu/test/basic/pages/page2/page2.ts
new file mode 100644
index 0000000000..6106dcaad0
--- /dev/null
+++ b/src/components/menu/test/basic/pages/page2/page2.ts
@@ -0,0 +1,11 @@
+import { Component } from '@angular/core';
+import { NavController } from '../../../../../..';
+
+@Component({ templateUrl: 'page2.html' })
+export class Page2 {
+ constructor(public navCtrl: NavController) { }
+
+ page3() {
+ this.navCtrl.push('Page3');
+ }
+}
diff --git a/src/components/menu/test/basic/page3.html b/src/components/menu/test/basic/pages/page3/page3.html
similarity index 100%
rename from src/components/menu/test/basic/page3.html
rename to src/components/menu/test/basic/pages/page3/page3.html
diff --git a/src/components/menu/test/basic/pages/page3/page3.module.ts b/src/components/menu/test/basic/pages/page3/page3.module.ts
new file mode 100644
index 0000000000..eb1c84e444
--- /dev/null
+++ b/src/components/menu/test/basic/pages/page3/page3.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { Page3 } from './page3';
+
+@NgModule({
+ declarations: [
+ Page3,
+ ],
+ imports: [
+ DeepLinkModule.forChild(Page3)
+ ],
+ entryComponents: [
+ Page3,
+ ]
+})
+export class Page3Module {}
diff --git a/src/components/menu/test/basic/pages/page3/page3.ts b/src/components/menu/test/basic/pages/page3/page3.ts
new file mode 100644
index 0000000000..1ea510f4b8
--- /dev/null
+++ b/src/components/menu/test/basic/pages/page3/page3.ts
@@ -0,0 +1,4 @@
+import { Component } from '@angular/core';
+
+@Component({ templateUrl: 'page3.html' })
+export class Page3 { }