From 7b13051a52d37c16f0bfc5fa118a58cffd901c3a Mon Sep 17 00:00:00 2001 From: Drew Rygh Date: Wed, 21 Oct 2015 16:51:11 -0500 Subject: [PATCH] docs(demos): close popup, actionSheet, modal when page leaves Closes #311 --- demos/component-docs/actionSheet/actionSheet.ts | 7 +++++++ demos/component-docs/modals/modals.ts | 9 ++++++++- demos/component-docs/popups/popups.ts | 15 ++++++++++++--- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/demos/component-docs/actionSheet/actionSheet.ts b/demos/component-docs/actionSheet/actionSheet.ts index 3027736e4b..e2a811e6a1 100644 --- a/demos/component-docs/actionSheet/actionSheet.ts +++ b/demos/component-docs/actionSheet/actionSheet.ts @@ -65,4 +65,11 @@ export class ActionSheetPage { }); } + onPageWillLeave() { + let actionSheet = this.actionSheet.get(); + if (actionSheet) { + actionSheet.close(); + } + } + } diff --git a/demos/component-docs/modals/modals.ts b/demos/component-docs/modals/modals.ts index cc3e7a3306..a77ef2ac4a 100644 --- a/demos/component-docs/modals/modals.ts +++ b/demos/component-docs/modals/modals.ts @@ -50,7 +50,14 @@ class ModalsContentPage { template: '' }) export class ModalsPage { - constructor() { + constructor(modal: Modal) { this.rootView = ModalsFirstPage; + this.modal = modal; + } + onPageWillLeave() { + let modal = this.modal.get(); + if (modal) { + modal.close(); + } } } diff --git a/demos/component-docs/popups/popups.ts b/demos/component-docs/popups/popups.ts index e59e8a807d..2936bda029 100644 --- a/demos/component-docs/popups/popups.ts +++ b/demos/component-docs/popups/popups.ts @@ -15,9 +15,9 @@ export class PopupsPage { doAlert() { this.popup.alert({ - title: "New Friend!", - template: "Your friend, Obi wan Kenobi, just accepted your friend request!", - cssClass: 'my-alert' + title: "New Friend!", + template: "Your friend, Obi wan Kenobi, just accepted your friend request!", + cssClass: 'my-alert' }); } @@ -39,4 +39,13 @@ export class PopupsPage { okText: "Agree" }); } + + onPageWillLeave() { + let popup = this.popup.get(); + // only try to close if there is an active popup + if (popup) { + popup.close(); + } + } + }