diff --git a/src/components/action-sheet/test/basic/main.html b/src/components/action-sheet/test/basic/main.html
index 9e601979f2..36ec8176e8 100644
--- a/src/components/action-sheet/test/basic/main.html
+++ b/src/components/action-sheet/test/basic/main.html
@@ -10,7 +10,10 @@
diff --git a/src/components/loading/loading-component.ts b/src/components/loading/loading-component.ts
index a86ed89153..a6f45adea5 100644
--- a/src/components/loading/loading-component.ts
+++ b/src/components/loading/loading-component.ts
@@ -40,6 +40,7 @@ export class LoadingCmp {
params: NavParams,
renderer: Renderer
) {
+ assert(params.data, 'params data must be valid');
this.gestureBlocker = gestureCtrl.createBlocker(BLOCK_ALL);
this.d = params.data;
diff --git a/src/components/modal/modal-component.ts b/src/components/modal/modal-component.ts
index 3df20fb76b..43737ed5e2 100644
--- a/src/components/modal/modal-component.ts
+++ b/src/components/modal/modal-component.ts
@@ -32,10 +32,13 @@ export class ModalCmp {
public _viewCtrl: ViewController,
gestureCtrl: GestureController
) {
+ let opts = _navParams.get('opts');
+ assert(opts, 'modal data must be valid');
+
this._gestureBlocker = gestureCtrl.createBlocker({
disable: [GESTURE_MENU_SWIPE, GESTURE_GO_BACK_SWIPE]
});
- this._bdDismiss = _navParams.data.opts.enableBackdropDismiss;
+ this._bdDismiss = opts.enableBackdropDismiss;
}
ionViewPreLoad() {
diff --git a/src/components/modal/modal.ts b/src/components/modal/modal.ts
index 686f661744..63e193e8e2 100644
--- a/src/components/modal/modal.ts
+++ b/src/components/modal/modal.ts
@@ -15,7 +15,8 @@ import { ViewController } from '../../navigation/view-controller';
export class Modal extends ViewController {
private _app: App;
- constructor(app: App, component: any, data: any = {}, opts: ModalOptions = {}) {
+ constructor(app: App, component: any, data: any, opts: ModalOptions = {}) {
+ data = data || {};
data.component = component;
opts.showBackdrop = isPresent(opts.showBackdrop) ? !!opts.showBackdrop : true;
opts.enableBackdropDismiss = isPresent(opts.enableBackdropDismiss) ? !!opts.enableBackdropDismiss : true;
diff --git a/src/components/modal/test/basic/app-module.ts b/src/components/modal/test/basic/app-module.ts
index f441b89730..088895eab1 100644
--- a/src/components/modal/test/basic/app-module.ts
+++ b/src/components/modal/test/basic/app-module.ts
@@ -62,6 +62,10 @@ export class E2EPage {
this.platforms = platform.platforms();
}
+ push() {
+ this.navCtrl.push(E2EPage);
+ }
+
presentModal() {
let modal = this.modalCtrl.create(ModalPassData, { userId: 8675309 });
modal.present();
@@ -77,7 +81,9 @@ export class E2EPage {
}
presentModalChildNav() {
- this.modalCtrl.create(ContactUs).present();
+ this.modalCtrl.create(ContactUs, null, {
+ enableBackdropDismiss: false
+ }).present();
}
presentToolbarModal() {
diff --git a/src/components/modal/test/basic/main.html b/src/components/modal/test/basic/main.html
index 9e99f95d90..a8f79bac8a 100644
--- a/src/components/modal/test/basic/main.html
+++ b/src/components/modal/test/basic/main.html
@@ -2,6 +2,9 @@
- +