diff --git a/src/components/searchbar/test/nav/app.module.ts b/src/components/searchbar/test/nav/app.module.ts
deleted file mode 100644
index 864e324909..0000000000
--- a/src/components/searchbar/test/nav/app.module.ts
+++ /dev/null
@@ -1,158 +0,0 @@
-import { Component, NgModule } from '@angular/core';
-import { BrowserModule } from '@angular/platform-browser';
-import { IonicApp, IonicModule, ModalController, NavController, NavParams, ViewController } from '../../../..';
-
-
-@Component({
- templateUrl: 'main.html'
-})
-export class MainPage {
- constructor(public navCtrl: NavController) { }
-
- goToSecond() {
- this.navCtrl.push(SearchPage);
- }
-}
-
-@Component({
- templateUrl: 'modal.html'
-})
-export class ModalPage {
- constructor(public viewCtrl: ViewController) {}
- close() {
- this.viewCtrl.dismiss();
- }
-}
-
-@Component({
- templateUrl: 'search.html'
-})
-export class SearchPage {
- items: string[];
-
- constructor(public navCtrl: NavController, public modalCtrl: ModalController) {
- this.initializeItems();
- }
-
- showDetail(item: any) {
- this.navCtrl.push(DetailPage, {city: item});
- }
-
- initializeItems() {
- this.items = [
- 'Amsterdam',
- 'Bogota',
- 'Buenos Aires',
- 'Cairo',
- 'Dhaka',
- 'Edinburgh',
- 'Geneva',
- 'Genoa',
- 'Glasglow',
- 'Hanoi',
- 'Hong Kong',
- 'Islamabad',
- 'Istanbul',
- 'Jakarta',
- 'Kiel',
- 'Kyoto',
- 'Le Havre',
- 'Lebanon',
- 'Lhasa',
- 'Lima',
- 'London',
- 'Los Angeles',
- 'Madrid',
- 'Manila',
- 'New York',
- 'Olympia',
- 'Oslo',
- 'Panama City',
- 'Peking',
- 'Philadelphia',
- 'San Francisco',
- 'Seoul',
- 'Taipeh',
- 'Tel Aviv',
- 'Tokio',
- 'Uelzen',
- 'Washington'
- ];
- }
-
- getItems(ev: any) {
- // Reset items back to all of the items
- this.initializeItems();
-
- // set q to the value of the searchbar
- var q = ev.target.value;
-
- // if the value is an empty string don't filter the items
- if (!q || q.trim() === '') {
- return;
- }
-
- this.items = this.items.filter((v) => {
- if (v.toLowerCase().indexOf(q.toLowerCase()) > -1) {
- return true;
- }
- return false;
- });
- }
-
- openModal() {
- let modal = this.modalCtrl.create(ModalPage);
- modal.present();
- }
-}
-
-@Component({
- templateUrl: 'detail.html'
-})
-export class DetailPage {
- city: string;
-
- constructor(private _navParams: NavParams) {
- this.city = _navParams.get('city');
- }
-}
-
-@Component({
- templateUrl: 'tabs.html'
-})
-export class TabsPage {
- mainPage = MainPage;
- searchPage = SearchPage;
-}
-
-@Component({
- template: ''
-})
-export class E2EApp {
- root = TabsPage;
-}
-
-@NgModule({
- declarations: [
- E2EApp,
- MainPage,
- SearchPage,
- ModalPage,
- DetailPage,
- TabsPage
- ],
- imports: [
- BrowserModule,
- IonicModule.forRoot(E2EApp)
- ],
- bootstrap: [IonicApp],
- entryComponents: [
- E2EApp,
- MainPage,
- SearchPage,
- ModalPage,
- DetailPage,
- TabsPage
- ]
-})
-export class AppModule {}
diff --git a/src/components/searchbar/test/nav/app/app.component.ts b/src/components/searchbar/test/nav/app/app.component.ts
new file mode 100644
index 0000000000..1049737093
--- /dev/null
+++ b/src/components/searchbar/test/nav/app/app.component.ts
@@ -0,0 +1,8 @@
+import { Component } from '@angular/core';
+
+@Component({
+ template: ''
+})
+export class E2EApp {
+ root = 'TabsPage';
+}
diff --git a/src/components/searchbar/test/nav/app/app.module.ts b/src/components/searchbar/test/nav/app/app.module.ts
new file mode 100644
index 0000000000..478f1be3b9
--- /dev/null
+++ b/src/components/searchbar/test/nav/app/app.module.ts
@@ -0,0 +1,28 @@
+import { NgModule } from '@angular/core';
+import { BrowserModule } from '@angular/platform-browser';
+import { IonicApp, IonicModule } from '../../../../..';
+
+import { E2EApp } from './app.component';
+
+@NgModule({
+ declarations: [
+ E2EApp,
+ ],
+ imports: [
+ BrowserModule,
+ IonicModule.forRoot(E2EApp, {}, {
+ links: [
+ { loadChildren: '../pages/detail-page/detail.module#DetailPageModule', name: 'DetailPage' },
+ { loadChildren: '../pages/main-page/main.module#MainPageModule', name: 'MainPage' },
+ { loadChildren: '../pages/modal-page/modal.module#ModalPageModule', name: 'ModalPage' },
+ { loadChildren: '../pages/search-page/search.module#SearchPageModule', name: 'SearchPage' },
+ { loadChildren: '../pages/tabs-page/tabs.module#TabsPageModule', name: 'TabsPage' },
+ ]
+ })
+ ],
+ bootstrap: [IonicApp],
+ entryComponents: [
+ E2EApp,
+ ]
+})
+export class AppModule {}
diff --git a/src/components/searchbar/test/nav/main.ts b/src/components/searchbar/test/nav/app/main.ts
similarity index 100%
rename from src/components/searchbar/test/nav/main.ts
rename to src/components/searchbar/test/nav/app/main.ts
diff --git a/src/components/searchbar/test/nav/detail.html b/src/components/searchbar/test/nav/pages/detail-page/detail.html
similarity index 100%
rename from src/components/searchbar/test/nav/detail.html
rename to src/components/searchbar/test/nav/pages/detail-page/detail.html
diff --git a/src/components/searchbar/test/nav/pages/detail-page/detail.module.ts b/src/components/searchbar/test/nav/pages/detail-page/detail.module.ts
new file mode 100644
index 0000000000..61b23439be
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/detail-page/detail.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { DetailPage } from './detail';
+
+@NgModule({
+ declarations: [
+ DetailPage,
+ ],
+ imports: [
+ DeepLinkModule.forChild(DetailPage)
+ ],
+ entryComponents: [
+ DetailPage,
+ ]
+})
+export class DetailPageModule {}
diff --git a/src/components/searchbar/test/nav/pages/detail-page/detail.ts b/src/components/searchbar/test/nav/pages/detail-page/detail.ts
new file mode 100644
index 0000000000..b50bffda15
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/detail-page/detail.ts
@@ -0,0 +1,13 @@
+import { Component } from '@angular/core';
+import { NavParams } from '../../../../../..';
+
+@Component({
+ templateUrl: 'detail.html'
+})
+export class DetailPage {
+ city: string;
+
+ constructor(private _navParams: NavParams) {
+ this.city = _navParams.get('city');
+ }
+}
diff --git a/src/components/searchbar/test/nav/main.html b/src/components/searchbar/test/nav/pages/main-page/main.html
similarity index 100%
rename from src/components/searchbar/test/nav/main.html
rename to src/components/searchbar/test/nav/pages/main-page/main.html
diff --git a/src/components/searchbar/test/nav/pages/main-page/main.module.ts b/src/components/searchbar/test/nav/pages/main-page/main.module.ts
new file mode 100644
index 0000000000..851189fb1b
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/main-page/main.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { MainPage } from './main';
+
+@NgModule({
+ declarations: [
+ MainPage,
+ ],
+ imports: [
+ DeepLinkModule.forChild(MainPage)
+ ],
+ entryComponents: [
+ MainPage,
+ ]
+})
+export class MainPageModule {}
diff --git a/src/components/searchbar/test/nav/pages/main-page/main.ts b/src/components/searchbar/test/nav/pages/main-page/main.ts
new file mode 100644
index 0000000000..fe729d6ab1
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/main-page/main.ts
@@ -0,0 +1,13 @@
+import { Component } from '@angular/core';
+import { NavController } from '../../../../../..';
+
+@Component({
+ templateUrl: 'main.html'
+})
+export class MainPage {
+ constructor(public navCtrl: NavController) { }
+
+ goToSecond() {
+ this.navCtrl.push('SearchPage');
+ }
+}
diff --git a/src/components/searchbar/test/nav/modal.html b/src/components/searchbar/test/nav/pages/modal-page/modal.html
similarity index 100%
rename from src/components/searchbar/test/nav/modal.html
rename to src/components/searchbar/test/nav/pages/modal-page/modal.html
diff --git a/src/components/searchbar/test/nav/pages/modal-page/modal.module.ts b/src/components/searchbar/test/nav/pages/modal-page/modal.module.ts
new file mode 100644
index 0000000000..0b6c80bb25
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/modal-page/modal.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { ModalPage } from './modal';
+
+@NgModule({
+ declarations: [
+ ModalPage,
+ ],
+ imports: [
+ DeepLinkModule.forChild(ModalPage)
+ ],
+ entryComponents: [
+ ModalPage,
+ ]
+})
+export class ModalPageModule {}
diff --git a/src/components/searchbar/test/nav/pages/modal-page/modal.ts b/src/components/searchbar/test/nav/pages/modal-page/modal.ts
new file mode 100644
index 0000000000..4bb4b39c6b
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/modal-page/modal.ts
@@ -0,0 +1,12 @@
+import { Component } from '@angular/core';
+import { ViewController } from '../../../../../..';
+
+@Component({
+ templateUrl: 'modal.html'
+})
+export class ModalPage {
+ constructor(public viewCtrl: ViewController) {}
+ close() {
+ this.viewCtrl.dismiss();
+ }
+}
diff --git a/src/components/searchbar/test/nav/search.html b/src/components/searchbar/test/nav/pages/search-page/search.html
similarity index 100%
rename from src/components/searchbar/test/nav/search.html
rename to src/components/searchbar/test/nav/pages/search-page/search.html
diff --git a/src/components/searchbar/test/nav/pages/search-page/search.module.ts b/src/components/searchbar/test/nav/pages/search-page/search.module.ts
new file mode 100644
index 0000000000..76e2d0bfb9
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/search-page/search.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { SearchPage } from './search';
+
+@NgModule({
+ declarations: [
+ SearchPage,
+ ],
+ imports: [
+ DeepLinkModule.forChild(SearchPage)
+ ],
+ entryComponents: [
+ SearchPage,
+ ]
+})
+export class SearchPageModule {}
diff --git a/src/components/searchbar/test/nav/pages/search-page/search.ts b/src/components/searchbar/test/nav/pages/search-page/search.ts
new file mode 100644
index 0000000000..fc9693318f
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/search-page/search.ts
@@ -0,0 +1,84 @@
+import { Component } from '@angular/core';
+import { NavController, ModalController } from '../../../../../..';
+
+@Component({
+ templateUrl: 'search.html'
+})
+export class SearchPage {
+ items: string[];
+
+ constructor(public navCtrl: NavController, public modalCtrl: ModalController) {
+ this.initializeItems();
+ }
+
+ showDetail(item: any) {
+ this.navCtrl.push('DetailPage', {city: item});
+ }
+
+ initializeItems() {
+ this.items = [
+ 'Amsterdam',
+ 'Bogota',
+ 'Buenos Aires',
+ 'Cairo',
+ 'Dhaka',
+ 'Edinburgh',
+ 'Geneva',
+ 'Genoa',
+ 'Glasglow',
+ 'Hanoi',
+ 'Hong Kong',
+ 'Islamabad',
+ 'Istanbul',
+ 'Jakarta',
+ 'Kiel',
+ 'Kyoto',
+ 'Le Havre',
+ 'Lebanon',
+ 'Lhasa',
+ 'Lima',
+ 'London',
+ 'Los Angeles',
+ 'Madrid',
+ 'Manila',
+ 'New York',
+ 'Olympia',
+ 'Oslo',
+ 'Panama City',
+ 'Peking',
+ 'Philadelphia',
+ 'San Francisco',
+ 'Seoul',
+ 'Taipeh',
+ 'Tel Aviv',
+ 'Tokio',
+ 'Uelzen',
+ 'Washington'
+ ];
+ }
+
+ getItems(ev: any) {
+ // Reset items back to all of the items
+ this.initializeItems();
+
+ // set q to the value of the searchbar
+ var q = ev.target.value;
+
+ // if the value is an empty string don't filter the items
+ if (!q || q.trim() === '') {
+ return;
+ }
+
+ this.items = this.items.filter((v) => {
+ if (v.toLowerCase().indexOf(q.toLowerCase()) > -1) {
+ return true;
+ }
+ return false;
+ });
+ }
+
+ openModal() {
+ let modal = this.modalCtrl.create('ModalPage');
+ modal.present();
+ }
+}
diff --git a/src/components/searchbar/test/nav/tabs.html b/src/components/searchbar/test/nav/pages/tabs-page/tabs.html
similarity index 100%
rename from src/components/searchbar/test/nav/tabs.html
rename to src/components/searchbar/test/nav/pages/tabs-page/tabs.html
diff --git a/src/components/searchbar/test/nav/pages/tabs-page/tabs.module.ts b/src/components/searchbar/test/nav/pages/tabs-page/tabs.module.ts
new file mode 100644
index 0000000000..75e3e2ff5c
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/tabs-page/tabs.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { TabsPage } from './tabs';
+
+@NgModule({
+ declarations: [
+ TabsPage,
+ ],
+ imports: [
+ DeepLinkModule.forChild(TabsPage)
+ ],
+ entryComponents: [
+ TabsPage,
+ ]
+})
+export class TabsPageModule {}
diff --git a/src/components/searchbar/test/nav/pages/tabs-page/tabs.ts b/src/components/searchbar/test/nav/pages/tabs-page/tabs.ts
new file mode 100644
index 0000000000..f980e32707
--- /dev/null
+++ b/src/components/searchbar/test/nav/pages/tabs-page/tabs.ts
@@ -0,0 +1,9 @@
+import { Component } from '@angular/core';
+
+@Component({
+ templateUrl: 'tabs.html'
+})
+export class TabsPage {
+ mainPage = 'MainPage';
+ searchPage = 'SearchPage';
+}