diff --git a/apps/global-form/src/app/address-list/address-list.component.css b/apps/global-form/src/app/address-list/address-list.component.css new file mode 100644 index 0000000..e69de29 diff --git a/apps/global-form/src/app/address-list/address-list.component.html b/apps/global-form/src/app/address-list/address-list.component.html new file mode 100644 index 0000000..38a4d8f --- /dev/null +++ b/apps/global-form/src/app/address-list/address-list.component.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/global-form/src/app/address-list/address-list.component.spec.ts b/apps/global-form/src/app/address-list/address-list.component.spec.ts new file mode 100644 index 0000000..d6d52c2 --- /dev/null +++ b/apps/global-form/src/app/address-list/address-list.component.spec.ts @@ -0,0 +1,28 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ReactiveFormsModule } from '@angular/forms'; + +import { AddressComponent } from './../address/address.component'; +import { AddressListComponent } from './address-list.component'; + +describe('AddressListComponent', () => { + let component: AddressListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ReactiveFormsModule], + declarations: [ AddressListComponent, AddressComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AddressListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/global-form/src/app/address-list/address-list.component.ts b/apps/global-form/src/app/address-list/address-list.component.ts new file mode 100644 index 0000000..3bbf4f4 --- /dev/null +++ b/apps/global-form/src/app/address-list/address-list.component.ts @@ -0,0 +1,17 @@ +import { Component, OnInit, Input } from '@angular/core'; +import { FormArray } from '@angular/forms'; + +@Component({ + selector: 'nested-forms-address-list', + templateUrl: './address-list.component.html', + styleUrls: ['./address-list.component.css'] +}) +export class AddressListComponent implements OnInit { + @Input() addressArray: FormArray; + + constructor() { } + + ngOnInit() { + } + +} diff --git a/apps/global-form/src/app/address/address.component.css b/apps/global-form/src/app/address/address.component.css new file mode 100644 index 0000000..e69de29 diff --git a/apps/global-form/src/app/address/address.component.html b/apps/global-form/src/app/address/address.component.html new file mode 100644 index 0000000..1315e69 --- /dev/null +++ b/apps/global-form/src/app/address/address.component.html @@ -0,0 +1,27 @@ +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ \ No newline at end of file diff --git a/apps/global-form/src/app/address/address.component.spec.ts b/apps/global-form/src/app/address/address.component.spec.ts new file mode 100644 index 0000000..a14de29 --- /dev/null +++ b/apps/global-form/src/app/address/address.component.spec.ts @@ -0,0 +1,27 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ReactiveFormsModule } from '@angular/forms'; + +import { AddressComponent } from './address.component'; + +describe('AddressComponent', () => { + let component: AddressComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ReactiveFormsModule], + declarations: [ AddressComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AddressComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/global-form/src/app/address/address.component.ts b/apps/global-form/src/app/address/address.component.ts new file mode 100644 index 0000000..6242758 --- /dev/null +++ b/apps/global-form/src/app/address/address.component.ts @@ -0,0 +1,17 @@ +import { Component, OnInit, Input } from '@angular/core'; +import { FormGroup } from '@angular/forms'; + +@Component({ + selector: 'nested-forms-address', + templateUrl: './address.component.html', + styleUrls: ['./address.component.css'] +}) +export class AddressComponent implements OnInit { + @Input() addressGroup: FormGroup; + + constructor() { } + + ngOnInit() { + } + +} diff --git a/apps/global-form/src/app/app.component.html b/apps/global-form/src/app/app.component.html index e6c1f97..5cc6f3d 100644 --- a/apps/global-form/src/app/app.component.html +++ b/apps/global-form/src/app/app.component.html @@ -1,5 +1,6 @@
+

diff --git a/apps/global-form/src/app/app.component.spec.ts b/apps/global-form/src/app/app.component.spec.ts
index 0693f7a..617b93f 100644
--- a/apps/global-form/src/app/app.component.spec.ts
+++ b/apps/global-form/src/app/app.component.spec.ts
@@ -3,6 +3,8 @@ import { RouterTestingModule } from '@angular/router/testing';
 import { TestBed, async } from '@angular/core/testing';
 import { AppComponent } from './app.component';
 import { NameComponent } from './name/name.component';
+import { AddressListComponent } from './address-list/address-list.component';
+import { AddressComponent } from './address/address.component';
 import { ContactModule } from '@nested-forms/contact';
 
 describe('AppComponent', () => {
@@ -13,7 +15,7 @@ describe('AppComponent', () => {
         ReactiveFormsModule,
         ContactModule.forRoot()
       ],
-      declarations: [AppComponent, NameComponent]
+      declarations: [AppComponent, NameComponent, AddressComponent, AddressListComponent]
     }).compileComponents();
   }));
 
diff --git a/apps/global-form/src/app/app.module.ts b/apps/global-form/src/app/app.module.ts
index 6716cb7..45b56b2 100644
--- a/apps/global-form/src/app/app.module.ts
+++ b/apps/global-form/src/app/app.module.ts
@@ -6,9 +6,11 @@ import { RouterModule } from '@angular/router';
 import { ReactiveFormsModule } from '@angular/forms';
 import { NameComponent } from './name/name.component';
 import { ContactModule } from '@nested-forms/contact';
+import { AddressListComponent } from './address-list/address-list.component';
+import { AddressComponent } from './address/address.component';
 
 @NgModule({
-  declarations: [AppComponent, NameComponent],
+  declarations: [AppComponent, NameComponent, AddressListComponent, AddressComponent],
   imports: [
     BrowserModule,
     RouterModule.forRoot([], { initialNavigation: 'enabled' }),
diff --git a/apps/global-form/src/app/name/name.component.html b/apps/global-form/src/app/name/name.component.html
index 53143da..f688e17 100644
--- a/apps/global-form/src/app/name/name.component.html
+++ b/apps/global-form/src/app/name/name.component.html
@@ -1 +1,27 @@
-

name works!

+
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ \ No newline at end of file diff --git a/apps/global-form/src/app/name/name.component.spec.ts b/apps/global-form/src/app/name/name.component.spec.ts index 1346a7b..6f115d7 100644 --- a/apps/global-form/src/app/name/name.component.spec.ts +++ b/apps/global-form/src/app/name/name.component.spec.ts @@ -1,4 +1,5 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ReactiveFormsModule } from '@angular/forms'; import { NameComponent } from './name.component'; @@ -8,6 +9,7 @@ describe('NameComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ + imports: [ReactiveFormsModule], declarations: [NameComponent] }).compileComponents(); }));