diff --git a/apps/static-factory-methods/src/app/address-list/address-list.component.ts b/apps/static-factory-methods/src/app/address-list/address-list.component.ts index c912e2a..68dc844 100644 --- a/apps/static-factory-methods/src/app/address-list/address-list.component.ts +++ b/apps/static-factory-methods/src/app/address-list/address-list.component.ts @@ -1,5 +1,5 @@ import { Component, Input, OnInit } from '@angular/core'; -import { FormArray, FormBuilder } from '@angular/forms'; +import { FormArray } from '@angular/forms'; import { Address } from '@nested-forms/contact'; import { AddressComponent } from '../address/address.component'; @@ -11,12 +11,12 @@ import { AddressComponent } from '../address/address.component'; export class AddressListComponent implements OnInit { @Input() addressArray: FormArray; - static createContactAddressListForm(addresses: Address[], fb: FormBuilder): FormArray { - const list: FormArray = fb.array([]); + static buildForm(addresses: Address[]): FormArray { + const list: FormArray = new FormArray([]); if (addresses) { addresses.forEach(addr => { - list.push(AddressComponent.createContactAddressForm(addr, fb)); + list.push(AddressComponent.buildForm(addr)); }); } diff --git a/apps/static-factory-methods/src/app/address/address.component.ts b/apps/static-factory-methods/src/app/address/address.component.ts index e2d58f5..cf9f9d7 100644 --- a/apps/static-factory-methods/src/app/address/address.component.ts +++ b/apps/static-factory-methods/src/app/address/address.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input } from '@angular/core'; -import { FormBuilder, FormGroup } from '@angular/forms'; +import { FormGroup, FormControl } from '@angular/forms'; import { Address } from '@nested-forms/contact'; @Component({ @@ -10,13 +10,13 @@ import { Address } from '@nested-forms/contact'; export class AddressComponent implements OnInit { @Input() addressGroup: FormGroup; - static createContactAddressForm(addr: Address, fb: FormBuilder): FormGroup { - return fb.group({ - line1: [addr ? addr.line1 : ''], - line2: [addr ? addr.line2 : ''], - city: [addr ? addr.city : ''], - state: [addr ? addr.state : ''], - postalCode: [addr ? addr.postalCode : ''], + static buildForm(addr: Address): FormGroup { + return new FormGroup({ + line1: new FormControl(addr ? addr.line1 : ''), + line2: new FormControl(addr ? addr.line2 : ''), + city: new FormControl(addr ? addr.city : ''), + state: new FormControl(addr ? addr.state : ''), + postalCode: new FormControl(addr ? addr.postalCode : ''), }); } diff --git a/apps/static-factory-methods/src/app/app.component.ts b/apps/static-factory-methods/src/app/app.component.ts index 2beff5d..1cf251e 100644 --- a/apps/static-factory-methods/src/app/app.component.ts +++ b/apps/static-factory-methods/src/app/app.component.ts @@ -30,8 +30,8 @@ export class AppComponent implements OnInit, OnDestroy { .subscribe((data: Contact) => { this.contact = data; this.form = this.fb.group({ - name: NameComponent.createContactNameForm(data.name, this.fb), - addresses: AddressListComponent.createContactAddressListForm(data.addresses, this.fb), + name: NameComponent.buildForm(data.name), + addresses: AddressListComponent.buildForm(data.addresses), }); }); } diff --git a/apps/static-factory-methods/src/app/name/name.component.ts b/apps/static-factory-methods/src/app/name/name.component.ts index 2241985..cf1913d 100644 --- a/apps/static-factory-methods/src/app/name/name.component.ts +++ b/apps/static-factory-methods/src/app/name/name.component.ts @@ -1,4 +1,4 @@ -import { FormBuilder, FormGroup } from '@angular/forms'; +import { FormControl, FormGroup } from '@angular/forms'; import { Component, OnInit, Input } from '@angular/core'; import { Name } from '@nested-forms/contact'; @@ -10,14 +10,14 @@ import { Name } from '@nested-forms/contact'; export class NameComponent implements OnInit { @Input() nameGroup: FormGroup; - static createContactNameForm(name: Name, fb: FormBuilder): FormGroup { - return fb.group({ - firstName: [name ? name.firstName : ''], - lastName: [name ? name.lastName : ''], - middleName: [name ? name.middleName : ''], - prefix: [name ? name.prefix : ''], - suffix: [name ? name.suffix : ''], - }) + static buildForm(name: Name): FormGroup { + return new FormGroup({ + firstName: new FormControl(name ? name.firstName : ''), + lastName: new FormControl(name ? name.lastName : ''), + middleName: new FormControl(name ? name.middleName : ''), + prefix: new FormControl(name ? name.prefix : ''), + suffix: new FormControl(name ? name.suffix : ''), + }); } constructor() {}