diff --git a/demos/component-docs/index.ts b/demos/component-docs/index.ts index 3308a6985e..14ff9d3315 100644 --- a/demos/component-docs/index.ts +++ b/demos/component-docs/index.ts @@ -1,20 +1,13 @@ import {App, IonicApp, ActionSheet, NavController, NavParams} from 'ionic/ionic'; -import {Modal, IonicView, IonicConfig, Events} from 'ionic/ionic'; +import {Modal, IonicView, IonicConfig, Events, Animation} from 'ionic/ionic'; import {NgZone} from 'angular2/angular2'; import {NavigationDetailsPage} from 'navigation'; import {TabsPage} from 'tabs'; +import {DemoModal} from 'modal'; import * as helpers from 'helpers'; -@IonicView({ - template: '
My Modal
' -}) -class DemoModal extends Modal { - constructor() { - super(); - } -} @IonicView({ @@ -37,6 +30,7 @@ export class MainPage { this.modal = modal; this.actionSheet = actionSheet; this.navDetailsPage = NavigationDetailsPage; + this.demoModal = DemoModal; if (params.data.location) { this.component.title = params.data.location; } else if (window.location.hash) { this.component.title = window.location.hash; } @@ -99,15 +93,40 @@ export class MainPage { // Modal // ************************** openModal() { - this.modal.open(DemoModal, { + this.modal.open(this.demoModal, { + handle: 'my-awesome-modal', enterAnimation: 'my-fade-in', - leaveAnimation: 'my-fade-out', - handle: 'my-awesome-modal' + leaveAnimation: 'my-fade-out' }); } } +class FadeIn extends Animation { + constructor(element) { + super(element); + this + .easing('ease') + .duration(450) + .fadeIn(); + } +} + +Animation.register('my-fade-in', FadeIn); + +class FadeOut extends Animation { + constructor(element) { + super(element); + this + .easing('ease') + .duration(250) + .fadeOut(); + } +} + +Animation.register('my-fade-out', FadeOut); + + @App({ template: '' }) diff --git a/demos/component-docs/main.html b/demos/component-docs/main.html index e7039e0bda..0a42ef51b9 100644 --- a/demos/component-docs/main.html +++ b/demos/component-docs/main.html @@ -354,8 +354,12 @@ -
- TODO + +
+ +