From 8357e5c1ed96e1f26aa4a935ffab986620a5a87f Mon Sep 17 00:00:00 2001 From: Paul Stelzer Date: Mon, 14 Jan 2019 16:54:51 +0100 Subject: [PATCH] fix(angular): fix slides (#17085) * test: slides * remove sideEffects --- .../test/test-app/e2e/src/slides.e2e-spec.ts | 35 +++++++++++++++++++ .../test-app/src/app/app-routing.module.ts | 2 ++ angular/test/test-app/src/app/app.module.ts | 4 ++- .../src/app/slides/slides.component.html | 34 ++++++++++++++++++ .../src/app/slides/slides.component.ts | 30 ++++++++++++++++ core/package.json | 1 - 6 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 angular/test/test-app/e2e/src/slides.e2e-spec.ts create mode 100644 angular/test/test-app/src/app/slides/slides.component.html create mode 100644 angular/test/test-app/src/app/slides/slides.component.ts diff --git a/angular/test/test-app/e2e/src/slides.e2e-spec.ts b/angular/test/test-app/e2e/src/slides.e2e-spec.ts new file mode 100644 index 0000000000..fc08ba7032 --- /dev/null +++ b/angular/test/test-app/e2e/src/slides.e2e-spec.ts @@ -0,0 +1,35 @@ +import { browser, element, by } from 'protractor'; +import { handleErrorMessages, waitTime } from './utils'; + +describe('slides', () => { + + beforeEach(async () => { + await browser.get('/slides'); + }); + afterEach(() => { + handleErrorMessages(); + }); + + it('should change index on slide change', async () => { + expect(await element(by.css('#slide-index')).getText()).toEqual('0'); + await nextSlide(); + + expect(await element(by.css('#slide-index')).getText()).toEqual('1'); + await nextSlide(); + + expect(await element(by.css('#slide-index')).getText()).toEqual('2'); + await prevSlide(); + + expect(await element(by.css('#slide-index')).getText()).toEqual('1'); + }); +}); + +async function nextSlide() { + await element(by.css('#btn-next')).click(); + await waitTime(800); +} + +async function prevSlide() { + await element(by.css('#btn-prev')).click(); + await waitTime(800); +} \ No newline at end of file diff --git a/angular/test/test-app/src/app/app-routing.module.ts b/angular/test/test-app/src/app/app-routing.module.ts index e55c2ff9bd..3e52216f66 100644 --- a/angular/test/test-app/src/app/app-routing.module.ts +++ b/angular/test/test-app/src/app/app-routing.module.ts @@ -16,6 +16,7 @@ import { NestedOutletPageComponent } from './nested-outlet-page/nested-outlet-pa import { NestedOutletPage2Component } from './nested-outlet-page2/nested-outlet-page2.component'; import { ViewChildComponent } from './view-child/view-child.component'; import { ProvidersComponent } from './providers/providers.component'; +import { SlidesComponent } from './slides/slides.component'; const routes: Routes = [ { path: '', component: HomePageComponent }, @@ -25,6 +26,7 @@ const routes: Routes = [ { path: 'providers', component: ProvidersComponent }, { path: 'router-link', component: RouterLinkComponent }, { path: 'router-link-page', component: RouterLinkPageComponent }, + { path: 'slides', component: SlidesComponent }, { path: 'virtual-scroll', component: VirtualScrollComponent }, { path: 'virtual-scroll-detail/:itemId', component: VirtualScrollDetailComponent }, { path: 'tabs', redirectTo: '/tabs/account', pathMatch: 'full' }, diff --git a/angular/test/test-app/src/app/app.module.ts b/angular/test/test-app/src/app/app.module.ts index 94c7723f92..d831ecc8e6 100644 --- a/angular/test/test-app/src/app/app.module.ts +++ b/angular/test/test-app/src/app/app.module.ts @@ -24,6 +24,7 @@ import { NestedOutletPage2Component } from './nested-outlet-page2/nested-outlet- import { NavComponent } from './nav/nav.component'; import { ViewChildComponent } from './view-child/view-child.component'; import { ProvidersComponent } from './providers/providers.component'; +import { SlidesComponent } from './slides/slides.component'; @NgModule({ declarations: [ @@ -46,7 +47,8 @@ import { ProvidersComponent } from './providers/providers.component'; NestedOutletPage2Component, NavComponent, ViewChildComponent, - ProvidersComponent + ProvidersComponent, + SlidesComponent ], imports: [ BrowserModule, diff --git a/angular/test/test-app/src/app/slides/slides.component.html b/angular/test/test-app/src/app/slides/slides.component.html new file mode 100644 index 0000000000..9c57909951 --- /dev/null +++ b/angular/test/test-app/src/app/slides/slides.component.html @@ -0,0 +1,34 @@ + + + + Slides Test + + + + + + + +

Slide 1

+
+ + +

Slide 2

+
+ + +

Slide 3

+
+
+ +

+ index: {{slideIndex}} +

+ + + Prev Slide + + + Next Slide + +
\ No newline at end of file diff --git a/angular/test/test-app/src/app/slides/slides.component.ts b/angular/test/test-app/src/app/slides/slides.component.ts new file mode 100644 index 0000000000..f389c2ba36 --- /dev/null +++ b/angular/test/test-app/src/app/slides/slides.component.ts @@ -0,0 +1,30 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { IonSlides } from '@ionic/angular'; + +@Component({ + selector: 'app-slides', + templateUrl: './slides.component.html', +}) +export class SlidesComponent implements OnInit { + @ViewChild(IonSlides) slides: IonSlides; + + slideIndex = 0; + + constructor() { } + + ngOnInit() { + } + + prevSlide() { + this.slides.slidePrev(); + } + + nextSlide() { + this.slides.slideNext(); + } + + async checkIndex() { + this.slideIndex = await this.slides.getActiveIndex(); + } + +} diff --git a/core/package.json b/core/package.json index cc46e84da6..1babfb072d 100644 --- a/core/package.json +++ b/core/package.json @@ -21,7 +21,6 @@ "es2015": "dist/esm/es2017/index.js", "es2017": "dist/esm/es2017/index.js", "jsnext:main": "dist/esm/es2017/index.js", - "sideEffects": false, "types": "dist/types/interface.d.ts", "collection": "dist/collection/collection-manifest.json", "webComponents": "dist/web-components.json",