From 25526870e06f3bae015b2ded69657f44609c5f18 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Mon, 4 Jan 2016 15:33:13 -0500 Subject: [PATCH 1/7] test(searchbar): added nav test and removed model test references #853 --- .../searchbar/test/floating/index.ts | 1 - .../components/searchbar/test/model/main.html | 16 ---------- .../components/searchbar/test/nav/first.html | 7 +++++ ionic/components/searchbar/test/nav/index.ts | 30 +++++++++++++++++++ .../components/searchbar/test/nav/second.html | 13 ++++++++ .../searchbar/test/toolbar/index.ts | 5 +--- 6 files changed, 51 insertions(+), 21 deletions(-) delete mode 100644 ionic/components/searchbar/test/model/main.html create mode 100644 ionic/components/searchbar/test/nav/first.html create mode 100644 ionic/components/searchbar/test/nav/index.ts create mode 100644 ionic/components/searchbar/test/nav/second.html diff --git a/ionic/components/searchbar/test/floating/index.ts b/ionic/components/searchbar/test/floating/index.ts index 1cb395d5a6..5713049de8 100644 --- a/ionic/components/searchbar/test/floating/index.ts +++ b/ionic/components/searchbar/test/floating/index.ts @@ -1,7 +1,6 @@ import {FORM_DIRECTIVES, FormBuilder, Validators, Control, ControlGroup} from 'angular2/common'; import {App} from 'ionic/ionic'; -import {SearchPipe} from 'ionic/components/searchbar/searchbar'; @App({ templateUrl: 'main.html', diff --git a/ionic/components/searchbar/test/model/main.html b/ionic/components/searchbar/test/model/main.html deleted file mode 100644 index 275be607c9..0000000000 --- a/ionic/components/searchbar/test/model/main.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - {{item.title}} - - - - - - diff --git a/ionic/components/searchbar/test/nav/first.html b/ionic/components/searchbar/test/nav/first.html new file mode 100644 index 0000000000..a44f3c3861 --- /dev/null +++ b/ionic/components/searchbar/test/nav/first.html @@ -0,0 +1,7 @@ + + First Page + + + + + diff --git a/ionic/components/searchbar/test/nav/index.ts b/ionic/components/searchbar/test/nav/index.ts new file mode 100644 index 0000000000..5ff4125565 --- /dev/null +++ b/ionic/components/searchbar/test/nav/index.ts @@ -0,0 +1,30 @@ +import {App, Page, NavController} from 'ionic/ionic'; + +@Page({ + templateUrl: 'first.html' +}) +class FirstPage { + constructor(private _nav: NavController) { + + } + + goToSecond() { + this._nav.push(SecondPage); + } +} + +@Page({ + templateUrl: 'second.html' +}) +class SecondPage { + +} + +@App({ + template: '' +}) +class E2EApp { + constructor() { + this.root = FirstPage; + } +} diff --git a/ionic/components/searchbar/test/nav/second.html b/ionic/components/searchbar/test/nav/second.html new file mode 100644 index 0000000000..bd85326841 --- /dev/null +++ b/ionic/components/searchbar/test/nav/second.html @@ -0,0 +1,13 @@ + + Searchbar + + + + + + + + + + + diff --git a/ionic/components/searchbar/test/toolbar/index.ts b/ionic/components/searchbar/test/toolbar/index.ts index a0c90e1e25..810b63c5bc 100644 --- a/ionic/components/searchbar/test/toolbar/index.ts +++ b/ionic/components/searchbar/test/toolbar/index.ts @@ -1,7 +1,4 @@ -import {App, NavController} from 'ionic/ionic'; -import {Page, Config, IonicApp} from 'ionic/ionic'; -import {NavParams, NavController, ViewController} from 'ionic/ionic'; -import {SearchPipe} from 'ionic/components/searchbar/searchbar'; +import {App} from 'ionic/ionic'; @App({ templateUrl: 'main.html' From 3374deab3df35e78b8fec8179f6429828e41596f Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 15:08:11 -0600 Subject: [PATCH 2/7] test(): fix web-animations ref for e2e tests --- gulpfile.js | 2 +- scripts/e2e/e2e.template.html | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index 5c57e2689b..c349add308 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -63,7 +63,7 @@ var babelOptions = { } } -gulp.task('build', ['bundle.system', 'e2e.build', 'copy.web-animations', 'sass', 'fonts']); +gulp.task('build', ['bundle.system', 'e2e.build', 'sass', 'fonts']); gulp.task('clean.build', function(done) { runSequence('clean', 'build', done); diff --git a/scripts/e2e/e2e.template.html b/scripts/e2e/e2e.template.html index 54443eb9c3..64129f4479 100644 --- a/scripts/e2e/e2e.template.html +++ b/scripts/e2e/e2e.template.html @@ -14,6 +14,7 @@ + From 55f1167a4a5b17e3f55e37f868246022d1cb4a58 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 15:54:48 -0600 Subject: [PATCH 3/7] fix(providers): do not include ActionSheet --- ionic/config/bootstrap.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/ionic/config/bootstrap.ts b/ionic/config/bootstrap.ts index 529d075069..d010ce0681 100644 --- a/ionic/config/bootstrap.ts +++ b/ionic/config/bootstrap.ts @@ -7,7 +7,6 @@ import {Config} from './config'; import {Platform} from '../platform/platform'; import {Form} from '../util/form'; import {Keyboard} from '../util/keyboard'; -import {ActionSheet} from '../components/action-sheet/action-sheet'; import {Events} from '../util/events'; import {NavRegistry} from '../components/nav/nav-registry'; import {Translate} from '../translation/translate'; @@ -58,7 +57,6 @@ export function ionicProviders(args={}) { TapClick, Form, Keyboard, - ActionSheet, Translate, ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy}), From 460f35c15fb61c81692535addb8e022ea5889d56 Mon Sep 17 00:00:00 2001 From: mhartington Date: Mon, 4 Jan 2016 17:12:17 -0500 Subject: [PATCH 4/7] docs(modal): reference link --- ionic/components/modal/modal.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ionic/components/modal/modal.ts b/ionic/components/modal/modal.ts index 0bf2338596..8be704352e 100644 --- a/ionic/components/modal/modal.ts +++ b/ionic/components/modal/modal.ts @@ -7,7 +7,7 @@ import {Animation} from '../../animations/animation'; * A Modal is a content pane that goes over the user's current page. * Usually it is used for making a choice or editing an item. A modal uses the * `NavController` to - * {@link /docs/v2/api/components/nav/NavController/#present NavController.present} + * {@link /docs/v2/api/components/nav/NavController/#present present} * itself in the root nav stack. It is added to the stack similar to how * {@link /docs/v2/api/components/nav/NavController/#push NavController.push} * works. From 0d1ef20622727074a4261987906f7333740a38a4 Mon Sep 17 00:00:00 2001 From: Tim Lancina Date: Mon, 4 Jan 2016 17:57:57 -0600 Subject: [PATCH 5/7] fix(demos): update demos wip --- .../action-sheets/basic/pages.ts | 70 +++++++++++-------- demos/component-docs/app.html | 3 +- demos/component-docs/badge/basic/pages.ts | 2 +- demos/component-docs/buttons/basic/pages.ts | 2 +- demos/component-docs/buttons/block/pages.ts | 2 +- demos/component-docs/buttons/clear/pages.ts | 2 +- .../buttons/components/pages.ts | 2 +- demos/component-docs/buttons/fab/pages.ts | 2 +- demos/component-docs/buttons/full/pages.ts | 2 +- demos/component-docs/buttons/icons/pages.ts | 2 +- demos/component-docs/buttons/outline/pages.ts | 2 +- demos/component-docs/buttons/round/pages.ts | 2 +- demos/component-docs/buttons/sizes/pages.ts | 2 +- .../cards/advanced-map/pages.ts | 2 +- .../cards/advanced-social/pages.ts | 2 +- .../cards/advanced-weather/pages.ts | 2 +- .../component-docs/cards/background/pages.ts | 2 +- demos/component-docs/cards/basic/pages.ts | 2 +- demos/component-docs/cards/header/pages.ts | 2 +- demos/component-docs/cards/image/pages.ts | 2 +- demos/component-docs/cards/list/pages.ts | 2 +- demos/component-docs/grid/basic/pages.ts | 2 +- demos/component-docs/helpers.ts | 2 +- demos/component-docs/icons/basic/pages.ts | 2 +- demos/component-docs/index.ts | 13 +++- demos/component-docs/inputs/checkbox/pages.ts | 2 +- demos/component-docs/inputs/radio/pages.ts | 2 +- demos/component-docs/inputs/range/pages.ts | 2 +- demos/component-docs/inputs/search/pages.ts | 2 +- .../inputs/search/template.html | 4 +- demos/component-docs/inputs/segment/pages.ts | 2 +- demos/component-docs/inputs/select/pages.ts | 2 +- demos/component-docs/inputs/switch/pages.ts | 2 +- demos/component-docs/labels/basic/pages.ts | 3 +- .../labels/fixed-inline/pages.ts | 2 +- demos/component-docs/labels/floating/pages.ts | 2 +- demos/component-docs/labels/inline/pages.ts | 2 +- demos/component-docs/labels/inset/pages.ts | 2 +- .../labels/placeholder/pages.ts | 2 +- demos/component-docs/labels/stacked/pages.ts | 2 +- demos/component-docs/lists/avatar/pages.ts | 2 +- demos/component-docs/lists/basic/pages.ts | 2 +- demos/component-docs/lists/headers/pages.ts | 2 +- demos/component-docs/lists/icon/pages.ts | 2 +- demos/component-docs/lists/inset/pages.ts | 2 +- demos/component-docs/lists/multiline/pages.ts | 2 +- demos/component-docs/lists/no-lines/pages.ts | 2 +- demos/component-docs/lists/thumbnail/pages.ts | 2 +- demos/component-docs/menus/basic/pages.ts | 2 +- .../modals/basic/modal-content.html | 2 +- demos/component-docs/modals/basic/pages.ts | 3 +- .../component-docs/navigation/basic/pages.ts | 2 +- demos/component-docs/popups/basic/pages.ts | 2 +- demos/component-docs/slides/basic/pages.ts | 2 +- demos/component-docs/tabs/basic/pages.ts | 2 +- demos/component-docs/tabs/icon-text/pages.ts | 2 +- demos/component-docs/tabs/icon/pages.ts | 2 +- demos/i18n/index.ts | 3 +- demos/material/index.ts | 2 +- demos/native/index.ts | 3 +- demos/storage/index.ts | 3 +- gulpfile.js | 70 +++++++++++-------- package.json | 1 + scripts/demos/docs.index.template.html | 33 --------- scripts/demos/index.template.html | 3 +- scripts/demos/webpack.config.js | 36 +++++++--- 66 files changed, 184 insertions(+), 168 deletions(-) delete mode 100644 scripts/demos/docs.index.template.html diff --git a/demos/component-docs/action-sheets/basic/pages.ts b/demos/component-docs/action-sheets/basic/pages.ts index 894a4a42c6..20a7e6da02 100644 --- a/demos/component-docs/action-sheets/basic/pages.ts +++ b/demos/component-docs/action-sheets/basic/pages.ts @@ -1,5 +1,5 @@ -import {Platform, Page, ActionSheet} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {Platform, Page, ActionSheet, NavController} from 'ionic/ionic'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ @@ -9,12 +9,18 @@ import {AndroidAttribute} from '../../helpers'; }) export class BasicPage { - constructor(actionSheet: ActionSheet, platform: Platform) { - this.actionSheet = actionSheet; + constructor(platform: Platform, nav: NavController) { + this.nav = nav; this.platform = platform; } openMenu() { + let buttonHandler = (index) => { + console.log('Button clicked', index); + if (index == 1) { return false; } + return true; + } + if (this.platform.is('android')) { var androidSheet = { @@ -40,38 +46,44 @@ export class BasicPage { }; } - this.actionSheet.open(androidSheet || { + this.actionSheet = ActionSheet.create(androidSheet || { + title: 'Albums', buttons: [ - { text: 'Share'}, - { text: 'Play'}, - { text: 'Favorite'} + { + text: 'Share', + handler: buttonHandler + }, + { + text: 'Play', + handler: buttonHandler + }, + { + text: 'Favorite', + handler: buttonHandler + }, + { + text: 'Delete', + style: 'destructive', + handler: () => { + console.log('Destructive clicked'); + } + }, + { + text: 'Cancel', + style: 'cancel', + handler: () => { + console.log('Canceled'); + } + } ], - destructiveText: 'Delete', - titleText: 'Albums', - cancelText: 'Cancel', - cancel: () => { - console.log('Canceled'); - }, - destructiveButtonClicked: () => { - console.log('Destructive clicked'); - }, - buttonClicked: (index) => { - console.log('Button clicked', index); - if (index == 1) { return false; } - return true; - } - }).then(actionSheetRef => { - console.log(actionSheetRef); - this.actionSheetRef = actionSheetRef; }); + + this.nav.present(this.actionSheet); } onPageWillLeave() { - let actionSheet = this.actionSheet.get(); - if (actionSheet) { - actionSheet.close(); - } + this.actionSheet && this.actionSheet.dismiss(); } } diff --git a/demos/component-docs/app.html b/demos/component-docs/app.html index 152f1af745..7a7411fe09 100644 --- a/demos/component-docs/app.html +++ b/demos/component-docs/app.html @@ -14,7 +14,7 @@ - @@ -29,4 +29,3 @@ - \ No newline at end of file diff --git a/demos/component-docs/badge/basic/pages.ts b/demos/component-docs/badge/basic/pages.ts index 64337c90c0..f222f91f93 100644 --- a/demos/component-docs/badge/basic/pages.ts +++ b/demos/component-docs/badge/basic/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/basic/pages.ts b/demos/component-docs/buttons/basic/pages.ts index dd668f91ed..763ab06b74 100644 --- a/demos/component-docs/buttons/basic/pages.ts +++ b/demos/component-docs/buttons/basic/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/block/pages.ts b/demos/component-docs/buttons/block/pages.ts index 2c41355afe..155197b827 100644 --- a/demos/component-docs/buttons/block/pages.ts +++ b/demos/component-docs/buttons/block/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/clear/pages.ts b/demos/component-docs/buttons/clear/pages.ts index 09eb6393b8..f1c762c7a5 100644 --- a/demos/component-docs/buttons/clear/pages.ts +++ b/demos/component-docs/buttons/clear/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/components/pages.ts b/demos/component-docs/buttons/components/pages.ts index 4cdef689f8..f45088bfff 100644 --- a/demos/component-docs/buttons/components/pages.ts +++ b/demos/component-docs/buttons/components/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/fab/pages.ts b/demos/component-docs/buttons/fab/pages.ts index 41fd39cf8e..70dd37a78e 100644 --- a/demos/component-docs/buttons/fab/pages.ts +++ b/demos/component-docs/buttons/fab/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/full/pages.ts b/demos/component-docs/buttons/full/pages.ts index 022adcb9b0..8cd727b152 100644 --- a/demos/component-docs/buttons/full/pages.ts +++ b/demos/component-docs/buttons/full/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/icons/pages.ts b/demos/component-docs/buttons/icons/pages.ts index 05075f5dc7..655a333688 100644 --- a/demos/component-docs/buttons/icons/pages.ts +++ b/demos/component-docs/buttons/icons/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/outline/pages.ts b/demos/component-docs/buttons/outline/pages.ts index a3b3561b83..76c1051d63 100644 --- a/demos/component-docs/buttons/outline/pages.ts +++ b/demos/component-docs/buttons/outline/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/round/pages.ts b/demos/component-docs/buttons/round/pages.ts index a19ac56610..7263465f67 100644 --- a/demos/component-docs/buttons/round/pages.ts +++ b/demos/component-docs/buttons/round/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/buttons/sizes/pages.ts b/demos/component-docs/buttons/sizes/pages.ts index 02c89c246d..1520299b6d 100644 --- a/demos/component-docs/buttons/sizes/pages.ts +++ b/demos/component-docs/buttons/sizes/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/cards/advanced-map/pages.ts b/demos/component-docs/cards/advanced-map/pages.ts index ba0ec22225..64d3b8f930 100644 --- a/demos/component-docs/cards/advanced-map/pages.ts +++ b/demos/component-docs/cards/advanced-map/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/cards/advanced-social/pages.ts b/demos/component-docs/cards/advanced-social/pages.ts index df80216266..3bebcbbc57 100644 --- a/demos/component-docs/cards/advanced-social/pages.ts +++ b/demos/component-docs/cards/advanced-social/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/cards/advanced-weather/pages.ts b/demos/component-docs/cards/advanced-weather/pages.ts index 98626d6a40..3c4e4311ea 100644 --- a/demos/component-docs/cards/advanced-weather/pages.ts +++ b/demos/component-docs/cards/advanced-weather/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/cards/background/pages.ts b/demos/component-docs/cards/background/pages.ts index 8dd1490460..9361a2e57d 100644 --- a/demos/component-docs/cards/background/pages.ts +++ b/demos/component-docs/cards/background/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/cards/basic/pages.ts b/demos/component-docs/cards/basic/pages.ts index c6bc2ad674..255a6c77c6 100644 --- a/demos/component-docs/cards/basic/pages.ts +++ b/demos/component-docs/cards/basic/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/cards/header/pages.ts b/demos/component-docs/cards/header/pages.ts index da2232a532..5852995611 100644 --- a/demos/component-docs/cards/header/pages.ts +++ b/demos/component-docs/cards/header/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/cards/image/pages.ts b/demos/component-docs/cards/image/pages.ts index c0321971d5..753ba3d52a 100644 --- a/demos/component-docs/cards/image/pages.ts +++ b/demos/component-docs/cards/image/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/cards/list/pages.ts b/demos/component-docs/cards/list/pages.ts index af241f55f2..8714b8e307 100644 --- a/demos/component-docs/cards/list/pages.ts +++ b/demos/component-docs/cards/list/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/grid/basic/pages.ts b/demos/component-docs/grid/basic/pages.ts index 3cfc810dd0..322535fd9d 100644 --- a/demos/component-docs/grid/basic/pages.ts +++ b/demos/component-docs/grid/basic/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/helpers.ts b/demos/component-docs/helpers.ts index 9dc7eeea4c..9ae0db33f4 100644 --- a/demos/component-docs/helpers.ts +++ b/demos/component-docs/helpers.ts @@ -1,4 +1,4 @@ -import {Directive, ElementRef, Renderer} from 'angular2/angular2'; +import {Directive, ElementRef, Renderer} from 'angular2/core'; import {Platform, Navbar} from 'ionic/ionic'; import * as actionSheets from './action-sheets/action-sheets'; diff --git a/demos/component-docs/icons/basic/pages.ts b/demos/component-docs/icons/basic/pages.ts index d980059046..9b46fbaea8 100644 --- a/demos/component-docs/icons/basic/pages.ts +++ b/demos/component-docs/icons/basic/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/index.ts b/demos/component-docs/index.ts index 2af2376cef..1823f3079c 100644 --- a/demos/component-docs/index.ts +++ b/demos/component-docs/index.ts @@ -10,7 +10,7 @@ import * as helpers from './helpers'; config: { platforms: { android: { - activator: 'ripple' + activator: 'ripple' } } } @@ -35,10 +35,17 @@ class DemoApp { this.platform.ready().then(() => { window.addEventListener('message', (e) => { - + //TODO(@drewrygh) + e = {}; + e.data = '{}'; zone.run(() => { if (e.data) { - var data = JSON.parse(e.data); + var data; + try { + data = JSON.parse(e.data); + } catch (e) { + console.error(e); + } if (data.hash) { this.nextPage = helpers.getPageFor(data.hash.replace('#', '')); if (data.hash !== 'menus') { diff --git a/demos/component-docs/inputs/checkbox/pages.ts b/demos/component-docs/inputs/checkbox/pages.ts index 3d71a40f6c..3e7148fd55 100644 --- a/demos/component-docs/inputs/checkbox/pages.ts +++ b/demos/component-docs/inputs/checkbox/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/inputs/radio/pages.ts b/demos/component-docs/inputs/radio/pages.ts index 25db75ccd8..b1e9b82d56 100644 --- a/demos/component-docs/inputs/radio/pages.ts +++ b/demos/component-docs/inputs/radio/pages.ts @@ -1,5 +1,5 @@ import {App, IonicApp, Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import * as helpers from '../../helpers'; @Page({ diff --git a/demos/component-docs/inputs/range/pages.ts b/demos/component-docs/inputs/range/pages.ts index 63c6c0b1b2..82f7392f50 100644 --- a/demos/component-docs/inputs/range/pages.ts +++ b/demos/component-docs/inputs/range/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/inputs/search/pages.ts b/demos/component-docs/inputs/search/pages.ts index bb654cdcce..74e8000ec5 100644 --- a/demos/component-docs/inputs/search/pages.ts +++ b/demos/component-docs/inputs/search/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/inputs/search/template.html b/demos/component-docs/inputs/search/template.html index 7b5315dc24..96b3070a52 100644 --- a/demos/component-docs/inputs/search/template.html +++ b/demos/component-docs/inputs/search/template.html @@ -7,8 +7,8 @@ - + {{item}} - + diff --git a/demos/component-docs/inputs/segment/pages.ts b/demos/component-docs/inputs/segment/pages.ts index 49d674f7a6..b4cbe539d1 100644 --- a/demos/component-docs/inputs/segment/pages.ts +++ b/demos/component-docs/inputs/segment/pages.ts @@ -1,5 +1,5 @@ import {Page, Platform} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/inputs/select/pages.ts b/demos/component-docs/inputs/select/pages.ts index f79141dda1..98bb8f2577 100644 --- a/demos/component-docs/inputs/select/pages.ts +++ b/demos/component-docs/inputs/select/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/inputs/switch/pages.ts b/demos/component-docs/inputs/switch/pages.ts index 4c0de6acf3..b7b4e2c2b4 100644 --- a/demos/component-docs/inputs/switch/pages.ts +++ b/demos/component-docs/inputs/switch/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/labels/basic/pages.ts b/demos/component-docs/labels/basic/pages.ts index 48922ed770..62c3a848a6 100644 --- a/demos/component-docs/labels/basic/pages.ts +++ b/demos/component-docs/labels/basic/pages.ts @@ -1,4 +1,5 @@ -import {FORM_DIRECTIVES, FormBuilder, forwardRef, Validators, Control, ControlGroup} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; +import {FORM_DIRECTIVES, FormBuilder, Validators, Control, ControlGroup} from 'angular2/common'; import {Page} from 'ionic/ionic'; import {AndroidAttribute} from '../../helpers'; diff --git a/demos/component-docs/labels/fixed-inline/pages.ts b/demos/component-docs/labels/fixed-inline/pages.ts index ac63ebc809..0a5075eb96 100644 --- a/demos/component-docs/labels/fixed-inline/pages.ts +++ b/demos/component-docs/labels/fixed-inline/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/labels/floating/pages.ts b/demos/component-docs/labels/floating/pages.ts index 1b3dde0214..028cde2b83 100644 --- a/demos/component-docs/labels/floating/pages.ts +++ b/demos/component-docs/labels/floating/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/labels/inline/pages.ts b/demos/component-docs/labels/inline/pages.ts index 9662648399..9d19d24630 100644 --- a/demos/component-docs/labels/inline/pages.ts +++ b/demos/component-docs/labels/inline/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/labels/inset/pages.ts b/demos/component-docs/labels/inset/pages.ts index 38d1970d2a..bbf5774b11 100644 --- a/demos/component-docs/labels/inset/pages.ts +++ b/demos/component-docs/labels/inset/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/labels/placeholder/pages.ts b/demos/component-docs/labels/placeholder/pages.ts index a9c06d31c5..b3ad7cd6f8 100644 --- a/demos/component-docs/labels/placeholder/pages.ts +++ b/demos/component-docs/labels/placeholder/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/labels/stacked/pages.ts b/demos/component-docs/labels/stacked/pages.ts index e3653e9ef7..a9d900eead 100644 --- a/demos/component-docs/labels/stacked/pages.ts +++ b/demos/component-docs/labels/stacked/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/lists/avatar/pages.ts b/demos/component-docs/lists/avatar/pages.ts index 093143d0ac..d914caab73 100644 --- a/demos/component-docs/lists/avatar/pages.ts +++ b/demos/component-docs/lists/avatar/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/lists/basic/pages.ts b/demos/component-docs/lists/basic/pages.ts index 95d94e8b27..e145ed1c0b 100644 --- a/demos/component-docs/lists/basic/pages.ts +++ b/demos/component-docs/lists/basic/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/lists/headers/pages.ts b/demos/component-docs/lists/headers/pages.ts index ca0cff5836..8c4a071dfb 100644 --- a/demos/component-docs/lists/headers/pages.ts +++ b/demos/component-docs/lists/headers/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/lists/icon/pages.ts b/demos/component-docs/lists/icon/pages.ts index fc8b793387..501e5c258e 100644 --- a/demos/component-docs/lists/icon/pages.ts +++ b/demos/component-docs/lists/icon/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/lists/inset/pages.ts b/demos/component-docs/lists/inset/pages.ts index 1fe37e593d..63cc125562 100644 --- a/demos/component-docs/lists/inset/pages.ts +++ b/demos/component-docs/lists/inset/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/lists/multiline/pages.ts b/demos/component-docs/lists/multiline/pages.ts index 391900f886..accb1f79e1 100644 --- a/demos/component-docs/lists/multiline/pages.ts +++ b/demos/component-docs/lists/multiline/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/lists/no-lines/pages.ts b/demos/component-docs/lists/no-lines/pages.ts index abf87cb789..0080bcbdbd 100644 --- a/demos/component-docs/lists/no-lines/pages.ts +++ b/demos/component-docs/lists/no-lines/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/lists/thumbnail/pages.ts b/demos/component-docs/lists/thumbnail/pages.ts index 395d67af97..22e4a9e0e9 100644 --- a/demos/component-docs/lists/thumbnail/pages.ts +++ b/demos/component-docs/lists/thumbnail/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/menus/basic/pages.ts b/demos/component-docs/menus/basic/pages.ts index 5e620c7af3..6ce272538d 100644 --- a/demos/component-docs/menus/basic/pages.ts +++ b/demos/component-docs/menus/basic/pages.ts @@ -1,5 +1,5 @@ import {App, IonicApp, Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import * as helpers from '../../helpers'; @Page({ diff --git a/demos/component-docs/modals/basic/modal-content.html b/demos/component-docs/modals/basic/modal-content.html index 18042836af..eb361254a5 100644 --- a/demos/component-docs/modals/basic/modal-content.html +++ b/demos/component-docs/modals/basic/modal-content.html @@ -25,7 +25,7 @@

{{character.quote}}

- + {{item.title}} {{item.note}} diff --git a/demos/component-docs/modals/basic/pages.ts b/demos/component-docs/modals/basic/pages.ts index 81e69e7235..8a18941367 100644 --- a/demos/component-docs/modals/basic/pages.ts +++ b/demos/component-docs/modals/basic/pages.ts @@ -1,5 +1,6 @@ import {App, IonicApp, Animation, Modal, Platform, NavController, NavParams, Page, Events} from 'ionic/ionic'; -import {forwardRef, NgFor} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; +import {NgFor} from 'angular2/common'; import * as helpers from '../../helpers'; diff --git a/demos/component-docs/navigation/basic/pages.ts b/demos/component-docs/navigation/basic/pages.ts index 3635b9bd93..8feccd6e64 100644 --- a/demos/component-docs/navigation/basic/pages.ts +++ b/demos/component-docs/navigation/basic/pages.ts @@ -1,6 +1,6 @@ import {NavController, NavParams} from 'ionic/ionic'; import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import * as helpers from '../../helpers'; @Page({ diff --git a/demos/component-docs/popups/basic/pages.ts b/demos/component-docs/popups/basic/pages.ts index 39a21ee4a3..54a58ddd46 100644 --- a/demos/component-docs/popups/basic/pages.ts +++ b/demos/component-docs/popups/basic/pages.ts @@ -1,6 +1,6 @@ import {Page, Popup} from 'ionic/ionic'; import {AndroidAttribute} from '../../helpers'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; @Page({ diff --git a/demos/component-docs/slides/basic/pages.ts b/demos/component-docs/slides/basic/pages.ts index 276abcac8a..31bdd81fc9 100644 --- a/demos/component-docs/slides/basic/pages.ts +++ b/demos/component-docs/slides/basic/pages.ts @@ -1,5 +1,5 @@ import {Page} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import {AndroidAttribute} from '../../helpers'; @Page({ diff --git a/demos/component-docs/tabs/basic/pages.ts b/demos/component-docs/tabs/basic/pages.ts index a2fa3548b7..26c0f35823 100644 --- a/demos/component-docs/tabs/basic/pages.ts +++ b/demos/component-docs/tabs/basic/pages.ts @@ -1,6 +1,6 @@ import {NavController, NavParams} from 'ionic/ionic'; import {Page, ViewController, Platform} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import * as helpers from '../../helpers'; diff --git a/demos/component-docs/tabs/icon-text/pages.ts b/demos/component-docs/tabs/icon-text/pages.ts index 2b2f417ca5..6e087d0d87 100644 --- a/demos/component-docs/tabs/icon-text/pages.ts +++ b/demos/component-docs/tabs/icon-text/pages.ts @@ -1,6 +1,6 @@ import {NavController, NavParams} from 'ionic/ionic'; import {Page, ViewController, Platform} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import * as helpers from '../../helpers'; diff --git a/demos/component-docs/tabs/icon/pages.ts b/demos/component-docs/tabs/icon/pages.ts index c8b20d2099..1a598dbf43 100644 --- a/demos/component-docs/tabs/icon/pages.ts +++ b/demos/component-docs/tabs/icon/pages.ts @@ -1,6 +1,6 @@ import {NavController, NavParams} from 'ionic/ionic'; import {Page, ViewController, Platform} from 'ionic/ionic'; -import {forwardRef} from 'angular2/angular2'; +import {forwardRef} from 'angular2/core'; import * as helpers from '../../helpers'; diff --git a/demos/i18n/index.ts b/demos/i18n/index.ts index 2a44884c34..7d348487c4 100644 --- a/demos/i18n/index.ts +++ b/demos/i18n/index.ts @@ -1,4 +1,5 @@ -import {Component, Control, ControlGroup} from 'angular2/angular2'; +import {Component} from 'angular2/core'; +import {Control, ControlGroup} from 'angular2/common'; import {IonicApp, App} from 'ionic/ionic'; import {Translate, TranslatePipe} from 'ionic/ionic'; diff --git a/demos/material/index.ts b/demos/material/index.ts index 2160961b87..4dec6b6a61 100644 --- a/demos/material/index.ts +++ b/demos/material/index.ts @@ -1,4 +1,4 @@ -import {Component, Directive} from 'angular2/angular2'; +import {Component, Directive} from 'angular2/core'; import {App, ActionSheet, IonicApp, IonicView, Register} from 'ionic/ionic'; diff --git a/demos/native/index.ts b/demos/native/index.ts index 71f185552a..22acec2325 100644 --- a/demos/native/index.ts +++ b/demos/native/index.ts @@ -1,4 +1,5 @@ -import {Component, Control, ControlGroup} from 'angular2/angular2'; +import {Component} from 'angular2/core'; +import {Control, ControlGroup} from 'angular2/common'; import {IonicApp, App} from 'ionic/ionic'; diff --git a/demos/storage/index.ts b/demos/storage/index.ts index f1973347ab..bec284a785 100644 --- a/demos/storage/index.ts +++ b/demos/storage/index.ts @@ -1,4 +1,5 @@ -import {Component, Control, ControlGroup} from 'angular2/angular2'; +import {Component} from 'angular2/core'; +import {Control, ControlGroup} from 'angular2/common'; import {App, Storage, LocalStorage, SqlStorage} from 'ionic/ionic'; diff --git a/gulpfile.js b/gulpfile.js index c349add308..d70384d591 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -272,15 +272,15 @@ gulp.task('e2e.build', function() { .pipe(cache('e2e.files')) return merge([ - tsResult, - testFiles - ]) - .pipe(rename(function(file) { - var sep = path.sep; - file.dirname = file.dirname.replace(sep + 'test' + sep, sep); - })) - .pipe(gulp.dest('dist/e2e/')) - .pipe(connect.reload()); + tsResult, + testFiles + ]) + .pipe(rename(function(file) { + var sep = path.sep; + file.dirname = file.dirname.replace(sep + 'test' + sep, sep); + })) + .pipe(gulp.dest('dist/e2e/')) + .pipe(connect.reload()); function createIndexHTML() { return through2.obj(function(file, enc, next) { @@ -457,32 +457,40 @@ require('./scripts/docs/gulp-tasks')(gulp, flags) gulp.task('build.demos', function(){ var gulpif = require('gulp-if'); - var lazypipe = require('lazypipe'); + var merge = require('merge2'); var _ = require('lodash'); var fs = require('fs'); var VinylFile = require('vinyl'); - var buildTest = lazypipe() - .pipe(tsc, tscOptions, undefined, tscReporter) - .pipe(babel, getBabelOptions('demos', 'common')) - // .pipe(babel, getBabelOptions('demos')) - var baseIndexTemplate = _.template(fs.readFileSync('scripts/demos/index.template.html'))(); - var docsIndexTemplate = _.template(fs.readFileSync('scripts/demos/docs.index.template.html'))(); - return gulp.src(['demos/**/*']) - .pipe(cache('demos', { optimizeMemory: true })) - .pipe(gulpif(/.ts$/, buildTest())) + var tsResult = gulp.src(['demos/**/*.ts']) + .pipe(cache('demos.ts')) + .pipe(tsc(tscOptionsNoTypeCheck, undefined, tscReporter)) + .on('error', function(error) { + console.log(error.message); + this.emit('end'); + }) .pipe(gulpif(/index.js$/, createIndexHTML())) //TSC changes .ts to .js + + var demoFiles = gulp.src([ + 'demos/**/*', + '!demos/**/*.ts' + ]) + .pipe(cache('demos.files')); + + return merge([ + tsResult, + demoFiles + ]) .pipe(gulp.dest('dist/demos')) + .pipe(connect.reload()); function createIndexHTML() { return through2.obj(function(file, enc, next) { var indexTemplate = baseIndexTemplate; var customTemplateFp = file.path.split('/').slice(0, -1).join('/') + '/index.html'; - if (file.path.indexOf('component-docs') > -1) { - indexTemplate = docsIndexTemplate; - } else if (fs.existsSync(customTemplateFp)) { + if (fs.existsSync(customTemplateFp)) { indexTemplate = _.template(fs.readFileSync(customTemplateFp))(); } this.push(new VinylFile({ @@ -510,7 +518,7 @@ gulp.task('sass.demos:components', function() { .pipe(gulp.dest('../ionic-site/docs/v2/demos/component-docs/')); }); -gulp.task('bundle.demos:api', ['build.demos'], function(done) { +gulp.task('bundle.demos:api', ['build.demos', 'transpile.no-typecheck', 'copy.web-animations', 'sass', 'fonts'], function(done) { return buildDemoBundle({demo: 'api'}, done); }); @@ -559,14 +567,14 @@ function buildDemoBundle(opts, done) { } webpack(config, function(err, stats){ - // var statsOptions = { - // 'colors': true, - // 'modules': true, - // 'chunks': false, - // 'exclude': ['node_modules'], - // 'errorDetails': true - // } - // console.log(stats.toString(statsOptions)); + var statsOptions = { + 'colors': true, + 'modules': false, + 'chunks': false, + 'exclude': ['node_modules'], + 'errorDetails': true + } + console.log(stats.toString(statsOptions)); if (--numTasks === 0) done(); }) }) diff --git a/package.json b/package.json index e640143ac8..bfc12651f7 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,7 @@ "semver": "^5.0.1", "serve-static": "^1.9.2", "source-map-support": "^0.2.10", + "strip-sourcemap-loader": "0.0.1", "systemjs": "0.19.6", "through2": "^0.6.3", "typescript": "^1.7.3", diff --git a/scripts/demos/docs.index.template.html b/scripts/demos/docs.index.template.html deleted file mode 100644 index 8ba93aaf61..0000000000 --- a/scripts/demos/docs.index.template.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/demos/index.template.html b/scripts/demos/index.template.html index ee6bf9eb98..8348953942 100644 --- a/scripts/demos/index.template.html +++ b/scripts/demos/index.template.html @@ -5,7 +5,8 @@ - + + diff --git a/scripts/demos/webpack.config.js b/scripts/demos/webpack.config.js index da0ed70706..027dc50711 100644 --- a/scripts/demos/webpack.config.js +++ b/scripts/demos/webpack.config.js @@ -1,26 +1,42 @@ +var path = require('path'); + module.exports = { entry: [ - "es6-shim", - "zone.js", - "reflect-metadata", - "web-animations.min", + path.normalize('es6-shim/es6-shim.min'), + 'reflect-metadata', + 'web-animations.min', + path.normalize('zone.js/dist/zone-microtask'), ], module: { loaders: [ { test: /\.ts$/, loader: "awesome-typescript-loader", + query: { + 'doTypeCheck': false + }, include: /\/demos\//, exclude: /node_modules/ - } + }, + { + test: /\.js$/, + include: path.resolve('node_modules/angular2'), + loader: 'strip-sourcemap' + } + ], + noParse: [ + /es6-shim/, + /reflect-metadata/, + /web-animations/, + /zone\.js(\/|\\)dist(\/|\\)zone-microtask/ ] }, resolve: { - modulesDirectories: [ - "node_modules", - "dist/src/es5/common", // ionic-framework npm package (stable) - "dist/js" // for web-animations polyfill - ], + alias: { + 'ionic': path.normalize(process.cwd() + '/dist'), + 'web-animations.min': path.normalize(process.cwd() + '/dist/js/web-animations.min') + }, extensions: ["", ".js", ".ts"] } }; + From 746636be222ce7f98e908b4a9d54164d0af6e8d2 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 20:32:43 -0600 Subject: [PATCH 6/7] chore(): overlay deprecated warning w/ changelog link --- ionic/components/overlay/overlay.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ionic/components/overlay/overlay.ts b/ionic/components/overlay/overlay.ts index 447f27426b..1b6c570acb 100644 --- a/ionic/components/overlay/overlay.ts +++ b/ionic/components/overlay/overlay.ts @@ -11,6 +11,7 @@ export class OverlayNav { constructor() { // deprecated warning console.warn(' is no longer needed and can be safely removed.'); + console.warn('https://github.com/driftyco/ionic2/blob/master/CHANGELOG.md#overlay-refactor'); console.warn('See the v2 docs for an update on how overlays work.'); } From 95501a1e8640dea746d521922ef9dfc8e09dc58c Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 22:28:49 -0600 Subject: [PATCH 7/7] fix(tap): do not fire tap click while scrolling Fixes #681 --- ionic/components/app/app.ts | 28 ++++++++++--- ionic/components/content/content.ts | 53 ++++++++++++------------- ionic/components/tap-click/tap-click.ts | 24 +++++++---- 3 files changed, 64 insertions(+), 41 deletions(-) diff --git a/ionic/components/app/app.ts b/ionic/components/app/app.ts index 952de73a14..f9cf582db1 100644 --- a/ionic/components/app/app.ts +++ b/ionic/components/app/app.ts @@ -4,7 +4,6 @@ import {Title} from 'angular2/platform/browser'; import {Config} from '../../config/config'; import {ClickBlock} from '../../util/click-block'; import {rafFrames} from '../../util/dom'; -import {ScrollTo} from '../../animations/scroll-to'; /** @@ -15,20 +14,21 @@ import {ScrollTo} from '../../animations/scroll-to'; @Injectable() export class IonicApp { - constructor(config: Config, clickBlock: ClickBlock, zone: NgZone) { - this._config = config; - this._zone = zone; + constructor( + private _config: Config, + private _clickBlock: ClickBlock, + private _zone: NgZone + ) { this._titleSrv = new Title(); this._title = ''; this._disTime = 0; - this._clickBlock = clickBlock; + this._scrollTime = 0; // Our component registry map this.components = {}; } /** - * @private * Sets the document title. * @param {string} val Value to set the document title to. */ @@ -75,6 +75,22 @@ export class IonicApp { return (this._disTime < Date.now()); } + /** + * @private + */ + setScrolling() { + this._scrollTime = Date.now(); + } + + /** + * @private + * Boolean if the app is actively scrolling or not. + * @return {bool} + */ + isScrolling() { + return (this._scrollTime + 64 > Date.now()); + } + /** * @private * Register a known component with a key, for easy lookups later. diff --git a/ionic/components/content/content.ts b/ionic/components/content/content.ts index 3c866fac26..10866d1265 100644 --- a/ionic/components/content/content.ts +++ b/ionic/components/content/content.ts @@ -1,9 +1,9 @@ import {Component, ElementRef, Optional, NgZone} from 'angular2/core'; import {Ion} from '../ion'; +import {IonicApp} from '../app/app'; import {Config} from '../../config/config'; import {raf} from '../../util/dom'; -import {Keyboard} from '../../util/keyboard'; import {ViewController} from '../nav/view-controller'; import {Animation} from '../../animations/animation'; import {ScrollTo} from '../../animations/scroll-to'; @@ -37,10 +37,15 @@ export class Content extends Ion { * @param {ElementRef} elementRef A reference to the component's DOM element. * @param {Config} config The config object to change content's default settings. */ - constructor(elementRef: ElementRef, config: Config, keyboard: Keyboard, @Optional() viewCtrl: ViewController, private _zone: NgZone) { - super(elementRef, config); + constructor( + elementRef: ElementRef, + private _config: Config, + @Optional() viewCtrl: ViewController, + private _app: IonicApp, + private _zone: NgZone + ) { + super(elementRef, _config); this.scrollPadding = 0; - this.keyboard = keyboard; if (viewCtrl) { viewCtrl.setContent(this); @@ -53,7 +58,23 @@ export class Content extends Ion { */ ngOnInit() { super.ngOnInit(); - this.scrollElement = this.getNativeElement().children[0]; + + let self = this; + self.scrollElement = self.getNativeElement().children[0]; + + self._scroll = function(ev) { + self._app.setScrolling(); + }; + + if (self._config.get('tapPolyfill') === true) { + self._zone.runOutsideAngular(function() { + self.scrollElement.addEventListener('scroll', self._scroll); + }); + } + } + + ngOnDestroy() { + this.scrollElement.removeEventListener('scroll', this._scroll); } /** @@ -287,28 +308,6 @@ export class Content extends Ion { this.scrollPadding = newScrollPadding; this.scrollElement.style.paddingBottom = newScrollPadding + 'px'; - - // if (!this.keyboardPromise) { - // console.debug('add scroll keyboard close callback', newScrollPadding); - // - // this.keyboardPromise = this.keyboard.onClose(() => { - // console.debug('scroll keyboard closed', newScrollPadding); - // - // if (this) { - // if (this.scrollPadding && this.scrollElement) { - // let close = new Animation(this.scrollElement); - // close - // .duration(250) - // .fromTo('paddingBottom', this.scrollPadding + 'px', '0px') - // .play(); - // } - // - // this.scrollPadding = 0; - // this.keyboardPromise = null; - // } - // }); - // - // } } } diff --git a/ionic/components/tap-click/tap-click.ts b/ionic/components/tap-click/tap-click.ts index 03155645fd..f5183ce0d0 100644 --- a/ionic/components/tap-click/tap-click.ts +++ b/ionic/components/tap-click/tap-click.ts @@ -58,20 +58,28 @@ export class TapClick { this.lastTouch = Date.now(); if (this.usePolyfill && this.startCoord && this.app.isEnabled()) { + // only dispatch mouse click events from a touchend event + // when tapPolyfill config is true, and the startCoordand endCoord + // are not too far off from each other let endCoord = pointerCoord(ev); - if (!hasPointerMoved(POINTER_TOLERANCE, this.startCoord, endCoord)) { - console.debug('create click from touch ' + Date.now()); - // prevent native mouse click events for XX amount of time this.disableClick = this.lastTouch + DISABLE_NATIVE_CLICK_AMOUNT; - // manually dispatch the mouse click event - let clickEvent = document.createEvent('MouseEvents'); - clickEvent.initMouseEvent('click', true, true, window, 1, 0, 0, endCoord.x, endCoord.y, false, false, false, false, 0, null); - clickEvent.isIonicTap = true; - ev.target.dispatchEvent(clickEvent); + if (this.app.isScrolling()) { + // do not fire off a click event while the app was scrolling + console.debug('click from touch prevented by scrolling ' + Date.now()); + + } else { + // dispatch a mouse click event + console.debug('create click from touch ' + Date.now()); + + let clickEvent = document.createEvent('MouseEvents'); + clickEvent.initMouseEvent('click', true, true, window, 1, 0, 0, endCoord.x, endCoord.y, false, false, false, false, 0, null); + clickEvent.isIonicTap = true; + ev.target.dispatchEvent(clickEvent); + } } }