diff --git a/packages/angular/demo/.angular-cli.json b/packages/angular/demo/.angular-cli.json index c9df5aa19a..038f91c1e5 100644 --- a/packages/angular/demo/.angular-cli.json +++ b/packages/angular/demo/.angular-cli.json @@ -20,7 +20,7 @@ "testTsconfig": "tsconfig.spec.json", "prefix": "app", "styles": [ - "styles.css" + "styles.scss" ], "scripts": [], "environmentSource": "environments/environment.ts", @@ -55,7 +55,7 @@ } }, "defaults": { - "styleExt": "css", + "styleExt": "scss", "component": {} } } diff --git a/packages/angular/demo/e2e/group-inputs.e2e-spec.ts b/packages/angular/demo/e2e/group-inputs.e2e-spec.ts index 1766482616..18cc3a6f3c 100644 --- a/packages/angular/demo/e2e/group-inputs.e2e-spec.ts +++ b/packages/angular/demo/e2e/group-inputs.e2e-spec.ts @@ -83,4 +83,21 @@ describe('Group Inputs Page', () => { }); }); }); + + describe('segments', () => { + it('should have the proper initial value', () => { + page.navigateTo(); + const el = page.getSegment(); + expect(el.getAttribute('value')).toEqual('tripe'); + }); + + it('should reflect back the changed value', () => { + page.navigateTo(); + return browser.executeScript('window.scrollTo(0, 500);').then(function() { + const btns = page.getSegmentButtons(); + btns.chicken.click(); + expect(page.getRadioOutputText()).toEqual('chicken'); + }); + }); + }); }); diff --git a/packages/angular/demo/e2e/group-inputs.po.ts b/packages/angular/demo/e2e/group-inputs.po.ts index 280e90cdea..5dae783af0 100644 --- a/packages/angular/demo/e2e/group-inputs.po.ts +++ b/packages/angular/demo/e2e/group-inputs.po.ts @@ -23,6 +23,16 @@ export class GroupInputsPage { }; } + getSegmentButtons() { + return { + beef: element(by.id('ion-seg-beef')), + tongue: element(by.id('ion-seg-tongue')), + brains: element(by.id('ion-seg-brains')), + tripe: element(by.id('ion-seg-tripe')), + chicken: element(by.id('ion-seg-chicken')) + }; + } + getUngroupedRadioButtons() { return { beef: element(by.id('ion-beef')), @@ -33,6 +43,10 @@ export class GroupInputsPage { }; } + getSegment() { + return element(by.id('segment')); + } + getRadioOutputText() { return element(by.id('radioOutput')).getText(); } diff --git a/packages/angular/demo/package-lock.json b/packages/angular/demo/package-lock.json index d32b78426c..e0ea406273 100644 --- a/packages/angular/demo/package-lock.json +++ b/packages/angular/demo/package-lock.json @@ -198,9 +198,9 @@ "integrity": "sha512-XF1MuyjKEwWjLyl0VBeAbMkXsPgqbRxRhtzHLgG7DPm7XdvtaZEOiMlTLOt8BTrd+/oOyB/XYF/9ltE6ZxdwEg==" }, "@ionic/core": { - "version": "0.0.2-25", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.0.2-25.tgz", - "integrity": "sha512-LDbeBZp1sW3caHgpX0M8vLf0e7+6K5b/refJpO8Gjhxasc+b5h0IckooFGyxwXLgFbLDRKtb/gssXkCOM1/rSg==" + "version": "0.0.2-26", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.0.2-26.tgz", + "integrity": "sha512-RAxaPiutX0Ct5XhzLClr0TtGmlSFVbSzkrHLKLsxhZQbGYe532uIww9EUMqHjq+1Zn7rOGXjIkyzDohS46Mflg==" }, "@ngtools/json-schema": { "version": "1.1.0", diff --git a/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.css b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.scss similarity index 100% rename from packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.css rename to packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.scss diff --git a/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.ts b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.ts index 165832f283..eff5f2c4fa 100644 --- a/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.ts +++ b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.ts @@ -3,7 +3,7 @@ import { Component, OnInit, ViewEncapsulation } from '@angular/core'; @Component({ selector: 'app-basic-inputs-page', templateUrl: './basic-inputs-page.component.html', - styleUrls: ['./basic-inputs-page.component.css'], + styleUrls: ['./basic-inputs-page.component.scss'], encapsulation: ViewEncapsulation.None }) export class BasicInputsPageComponent implements OnInit { diff --git a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html index e64a589179..3424fbb2c8 100644 --- a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html +++ b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html @@ -98,5 +98,23 @@ + + +

Ionic Segment

+
+
+ + + + Carne Asada + Lengua + Sesos + Tripa + Pollo + + + + + Home diff --git a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.css b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.scss similarity index 100% rename from packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.css rename to packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.scss diff --git a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.ts b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.ts index f5138576c4..4e3eaf264f 100644 --- a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.ts +++ b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.ts @@ -3,7 +3,7 @@ import { Component, OnInit, ViewEncapsulation } from '@angular/core'; @Component({ selector: 'app-group-inputs-page', templateUrl: './group-inputs-page.component.html', - styleUrls: ['./group-inputs-page.component.css'], + styleUrls: ['./group-inputs-page.component.scss'], encapsulation: ViewEncapsulation.None }) export class GroupInputsPageComponent implements OnInit { diff --git a/packages/angular/demo/src/app/home-page/home-page.component.css b/packages/angular/demo/src/app/home-page/home-page.component.scss similarity index 100% rename from packages/angular/demo/src/app/home-page/home-page.component.css rename to packages/angular/demo/src/app/home-page/home-page.component.scss diff --git a/packages/angular/demo/src/app/home-page/home-page.component.ts b/packages/angular/demo/src/app/home-page/home-page.component.ts index e524274b4e..9ab32e5aa9 100644 --- a/packages/angular/demo/src/app/home-page/home-page.component.ts +++ b/packages/angular/demo/src/app/home-page/home-page.component.ts @@ -3,7 +3,7 @@ import { Component, OnInit, ViewEncapsulation } from '@angular/core'; @Component({ selector: 'app-home-page', templateUrl: './home-page.component.html', - styleUrls: ['./home-page.component.css'], + styleUrls: ['./home-page.component.scss'], encapsulation: ViewEncapsulation.None }) export class HomePageComponent implements OnInit { diff --git a/packages/angular/demo/src/app/shared/ion-select-value-accessor/ion-select-value-accessor.directive.ts b/packages/angular/demo/src/app/shared/ion-select-value-accessor/ion-select-value-accessor.directive.ts index 09cd213dc8..343d12cd2a 100644 --- a/packages/angular/demo/src/app/shared/ion-select-value-accessor/ion-select-value-accessor.directive.ts +++ b/packages/angular/demo/src/app/shared/ion-select-value-accessor/ion-select-value-accessor.directive.ts @@ -6,7 +6,7 @@ import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; // https://github.com/angular/angular/blob/5.0.2/packages/forms/src/directives/select_control_value_accessor.ts#L28-L158 @Directive({ /* tslint:disable-next-line:directive-selector */ - selector: 'ion-select, ion-radio-group', + selector: 'ion-select, ion-radio-group, ion-segment', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IonSelectValueAccessorDirective, multi: true }] }) export class IonSelectValueAccessorDirective implements ControlValueAccessor { diff --git a/packages/angular/demo/src/styles.css b/packages/angular/demo/src/styles.scss similarity index 57% rename from packages/angular/demo/src/styles.css rename to packages/angular/demo/src/styles.scss index 90d4ee0072..20d1adbe38 100644 --- a/packages/angular/demo/src/styles.css +++ b/packages/angular/demo/src/styles.scss @@ -1 +1,3 @@ /* You can add global styles to this file, and also import other style files */ + +// @import '~@ionic/core/src/themes/ionic.build.default';