diff --git a/packages/angular/demo/e2e/group-inputs.e2e-spec.ts b/packages/angular/demo/e2e/group-inputs.e2e-spec.ts
new file mode 100644
index 0000000000..9c1cb493cb
--- /dev/null
+++ b/packages/angular/demo/e2e/group-inputs.e2e-spec.ts
@@ -0,0 +1,16 @@
+import { ElementFinder, promise } from 'protractor/built';
+
+import { GroupInputsPage } from './group-inputs.po';
+
+describe('Group Inputs Page', () => {
+ let page: GroupInputsPage;
+
+ beforeEach(() => {
+ page = new GroupInputsPage();
+ });
+
+ it('should display title', () => {
+ page.navigateTo();
+ expect(page.getTitleText()).toEqual('Ionic Core Group Inputs Demo');
+ });
+});
diff --git a/packages/angular/demo/e2e/group-inputs.po.ts b/packages/angular/demo/e2e/group-inputs.po.ts
new file mode 100644
index 0000000000..564c1bf5fe
--- /dev/null
+++ b/packages/angular/demo/e2e/group-inputs.po.ts
@@ -0,0 +1,19 @@
+import { browser, by, element } from 'protractor';
+
+export class GroupInputsPage {
+ navigateTo() {
+ return browser.get('/group-inputs');
+ }
+
+ getIonicCheckbox() {
+ return element(by.id('ionCheckbox'));
+ }
+
+ getCheckboxOutput() {
+ return element(by.id('checkboxOutput')).getText();
+ }
+
+ getTitleText() {
+ return element(by.css('.title')).getText();
+ }
+}
diff --git a/packages/angular/demo/src/app/app-routing.module.ts b/packages/angular/demo/src/app/app-routing.module.ts
index c9849064f5..ba1ccfb551 100644
--- a/packages/angular/demo/src/app/app-routing.module.ts
+++ b/packages/angular/demo/src/app/app-routing.module.ts
@@ -3,8 +3,9 @@ import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full' },
- { path: 'basic-inputs', loadChildren: 'app/basic-inputs/basic-inputs.module#BasicInputsModule' },
- { path: 'home', loadChildren: 'app/home/home.module#HomeModule' }
+ { path: 'basic-inputs', loadChildren: 'app/basic-inputs-page/basic-inputs-page.module#BasicInputsPageModule' },
+ { path: 'group-inputs', loadChildren: 'app/group-inputs-page/group-inputs-page.module#GroupInputsPageModule' },
+ { path: 'home', loadChildren: 'app/home-page/home-page.module#HomePageModule' }
];
@NgModule({
diff --git a/packages/angular/demo/src/app/basic-inputs/basic-inputs-routing.module.ts b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page-routing.module.ts
similarity index 88%
rename from packages/angular/demo/src/app/basic-inputs/basic-inputs-routing.module.ts
rename to packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page-routing.module.ts
index 564c209416..33881ae20f 100644
--- a/packages/angular/demo/src/app/basic-inputs/basic-inputs-routing.module.ts
+++ b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page-routing.module.ts
@@ -11,4 +11,4 @@ const routes: Routes = [
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
-export class BasicInputsRoutingModule { }
+export class BasicInputsPageRoutingModule { }
diff --git a/packages/angular/demo/src/app/basic-inputs/basic-inputs-page.component.css b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.css
similarity index 100%
rename from packages/angular/demo/src/app/basic-inputs/basic-inputs-page.component.css
rename to packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.css
diff --git a/packages/angular/demo/src/app/basic-inputs/basic-inputs-page.component.html b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.html
similarity index 100%
rename from packages/angular/demo/src/app/basic-inputs/basic-inputs-page.component.html
rename to packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.html
diff --git a/packages/angular/demo/src/app/basic-inputs/basic-inputs-page.component.spec.ts b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.spec.ts
similarity index 100%
rename from packages/angular/demo/src/app/basic-inputs/basic-inputs-page.component.spec.ts
rename to packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.spec.ts
diff --git a/packages/angular/demo/src/app/basic-inputs/basic-inputs-page.component.ts b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.ts
similarity index 100%
rename from packages/angular/demo/src/app/basic-inputs/basic-inputs-page.component.ts
rename to packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.component.ts
diff --git a/packages/angular/demo/src/app/basic-inputs/basic-inputs.module.ts b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.module.ts
similarity index 65%
rename from packages/angular/demo/src/app/basic-inputs/basic-inputs.module.ts
rename to packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.module.ts
index ad1e926256..e837031eaa 100644
--- a/packages/angular/demo/src/app/basic-inputs/basic-inputs.module.ts
+++ b/packages/angular/demo/src/app/basic-inputs-page/basic-inputs-page.module.ts
@@ -4,11 +4,11 @@ import { CommonModule } from '@angular/common';
import { BasicInputsPageComponent } from './basic-inputs-page.component';
import { SharedModule } from '../shared/shared.module';
-import { BasicInputsRoutingModule } from './basic-inputs-routing.module';
+import { BasicInputsPageRoutingModule } from './basic-inputs-page-routing.module';
@NgModule({
- imports: [CommonModule, FormsModule, BasicInputsRoutingModule, SharedModule],
+ imports: [CommonModule, FormsModule, BasicInputsPageRoutingModule, SharedModule],
declarations: [BasicInputsPageComponent],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
-export class BasicInputsModule {}
+export class BasicInputsPageModule {}
diff --git a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page-routing.module.ts b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page-routing.module.ts
new file mode 100644
index 0000000000..5f3fe1a791
--- /dev/null
+++ b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page-routing.module.ts
@@ -0,0 +1,14 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { GroupInputsPageComponent } from './group-inputs-page.component';
+
+const routes: Routes = [
+ { path: '', component: GroupInputsPageComponent }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule]
+})
+export class GroupInputsPageRoutingModule { }
diff --git a/packages/angular/demo/src/app/home/home-page.component.css b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.css
similarity index 100%
rename from packages/angular/demo/src/app/home/home-page.component.css
rename to packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.css
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
new file mode 100644
index 0000000000..004147961e
--- /dev/null
+++ b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html
@@ -0,0 +1,60 @@
+
+ Ionic Core Group Inputs Demo
+
+
+
+
+
+ Radio Buttons
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Value:
+ {{radioValue}}
+
+
+
+
+
+
+
+ Crarne Asada
+
+
+
+ Lengua
+
+
+
+ Sesos
+
+
+
+ Tripa
+
+
+
+ Pollo
+
+
+
+
+
+
+
+
+
+Home
diff --git a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.spec.ts b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.spec.ts
new file mode 100644
index 0000000000..8a929e04af
--- /dev/null
+++ b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.spec.ts
@@ -0,0 +1,28 @@
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { GroupInputsPageComponent } from './group-inputs-page.component';
+
+describe('GroupInputsPageComponent', () => {
+ let component: GroupInputsPageComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(
+ async(() => {
+ TestBed.configureTestingModule({
+ declarations: [GroupInputsPageComponent],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
+ }).compileComponents();
+ })
+ );
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(GroupInputsPageComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
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
new file mode 100644
index 0000000000..f5138576c4
--- /dev/null
+++ b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.ts
@@ -0,0 +1,15 @@
+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'],
+ encapsulation: ViewEncapsulation.None
+})
+export class GroupInputsPageComponent implements OnInit {
+ radioValue = 'tripe';
+
+ constructor() {}
+
+ ngOnInit() {}
+}
diff --git a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.module.ts b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.module.ts
new file mode 100644
index 0000000000..7c1f05bf50
--- /dev/null
+++ b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.module.ts
@@ -0,0 +1,19 @@
+import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { GroupInputsPageComponent } from './group-inputs-page.component';
+import { GroupInputsPageRoutingModule } from './group-inputs-page-routing.module';
+import { SharedModule } from '../shared/shared.module';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ GroupInputsPageRoutingModule,
+ SharedModule
+ ],
+ declarations: [GroupInputsPageComponent],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
+})
+export class GroupInputsPageModule {}
diff --git a/packages/angular/demo/src/app/home/home-routing.module.ts b/packages/angular/demo/src/app/home-page/home-page-routing.module.ts
similarity index 89%
rename from packages/angular/demo/src/app/home/home-routing.module.ts
rename to packages/angular/demo/src/app/home-page/home-page-routing.module.ts
index dda7dde205..86b31c4307 100644
--- a/packages/angular/demo/src/app/home/home-routing.module.ts
+++ b/packages/angular/demo/src/app/home-page/home-page-routing.module.ts
@@ -11,4 +11,4 @@ const routes: Routes = [
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
-export class HomeRoutingModule { }
+export class HomePageRoutingModule { }
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.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/packages/angular/demo/src/app/home-page/home-page.component.html b/packages/angular/demo/src/app/home-page/home-page.component.html
new file mode 100644
index 0000000000..fb02d9c01f
--- /dev/null
+++ b/packages/angular/demo/src/app/home-page/home-page.component.html
@@ -0,0 +1,12 @@
+
+ Ionic Core Angular Demo Application
+
+
+
diff --git a/packages/angular/demo/src/app/home/home-page.component.spec.ts b/packages/angular/demo/src/app/home-page/home-page.component.spec.ts
similarity index 100%
rename from packages/angular/demo/src/app/home/home-page.component.spec.ts
rename to packages/angular/demo/src/app/home-page/home-page.component.spec.ts
diff --git a/packages/angular/demo/src/app/home/home-page.component.ts b/packages/angular/demo/src/app/home-page/home-page.component.ts
similarity index 100%
rename from packages/angular/demo/src/app/home/home-page.component.ts
rename to packages/angular/demo/src/app/home-page/home-page.component.ts
diff --git a/packages/angular/demo/src/app/home/home.module.ts b/packages/angular/demo/src/app/home-page/home-page.module.ts
similarity index 65%
rename from packages/angular/demo/src/app/home/home.module.ts
rename to packages/angular/demo/src/app/home-page/home-page.module.ts
index 2b23fc7e14..b71b8b3f3c 100644
--- a/packages/angular/demo/src/app/home/home.module.ts
+++ b/packages/angular/demo/src/app/home-page/home-page.module.ts
@@ -2,13 +2,13 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HomePageComponent } from './home-page.component';
-import { HomeRoutingModule } from './home-routing.module';
+import { HomePageRoutingModule } from './home-page-routing.module';
@NgModule({
imports: [
CommonModule,
- HomeRoutingModule
+ HomePageRoutingModule
],
declarations: [HomePageComponent]
})
-export class HomeModule { }
+export class HomePageModule { }
diff --git a/packages/angular/demo/src/app/home/home-page.component.html b/packages/angular/demo/src/app/home/home-page.component.html
deleted file mode 100644
index 83cafad7cf..0000000000
--- a/packages/angular/demo/src/app/home/home-page.component.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
- Ionic Core Angular Demo Application
-
-
-Basic Inputs Test Page
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 81834ea82f..39e18a63bc 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',
+ selector: 'ion-select,ion-radio-group',
providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IonSelectValueAccessorDirective, multi: true }]
})
export class IonSelectValueAccessorDirective implements ControlValueAccessor {