From 8802b52e5466a18a9342457eddc20356fb967bfb Mon Sep 17 00:00:00 2001 From: "Kevin C. Coram" Date: Wed, 8 Jan 2020 21:33:38 -0500 Subject: [PATCH] Use OnPush change detection strategy --- .../address-list/address-list.component.ts | 16 +++++++++------ .../src/app/address/address.component.ts | 20 +++++++++++-------- .../src/app/app.component.ts | 20 +++++++++---------- .../src/app/name/name.component.ts | 10 ++++++++-- 4 files changed, 40 insertions(+), 26 deletions(-) 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 68dc844..43f6b6c 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,4 +1,9 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + Input, + OnInit, +} from '@angular/core'; import { FormArray } from '@angular/forms'; import { Address } from '@nested-forms/contact'; import { AddressComponent } from '../address/address.component'; @@ -6,7 +11,8 @@ import { AddressComponent } from '../address/address.component'; @Component({ selector: 'nested-forms-address-list', templateUrl: './address-list.component.html', - styleUrls: ['./address-list.component.css'] + styleUrls: ['./address-list.component.css'], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AddressListComponent implements OnInit { @Input() addressArray: FormArray; @@ -23,9 +29,7 @@ export class AddressListComponent implements OnInit { return list; } - constructor() { } - - ngOnInit() { - } + constructor() {} + ngOnInit() {} } 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 cf9f9d7..57be787 100644 --- a/apps/static-factory-methods/src/app/address/address.component.ts +++ b/apps/static-factory-methods/src/app/address/address.component.ts @@ -1,15 +1,21 @@ -import { Component, OnInit, Input } from '@angular/core'; -import { FormGroup, FormControl } from '@angular/forms'; +import { + ChangeDetectionStrategy, + Component, + Input, + OnInit, +} from '@angular/core'; +import { FormControl, FormGroup } from '@angular/forms'; import { Address } from '@nested-forms/contact'; @Component({ selector: 'nested-forms-address', templateUrl: './address.component.html', - styleUrls: ['./address.component.css'] + styleUrls: ['./address.component.css'], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AddressComponent implements OnInit { @Input() addressGroup: FormGroup; - + static buildForm(addr: Address): FormGroup { return new FormGroup({ line1: new FormControl(addr ? addr.line1 : ''), @@ -20,9 +26,7 @@ export class AddressComponent implements OnInit { }); } - constructor() { } - - ngOnInit() { - } + constructor() {} + ngOnInit() {} } diff --git a/apps/static-factory-methods/src/app/app.component.ts b/apps/static-factory-methods/src/app/app.component.ts index 1cf251e..bb9f495 100644 --- a/apps/static-factory-methods/src/app/app.component.ts +++ b/apps/static-factory-methods/src/app/app.component.ts @@ -1,17 +1,20 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { FormBuilder, FormGroup } from '@angular/forms'; import { - Contact, - ContactService, -} from '@nested-forms/contact'; + ChangeDetectionStrategy, + Component, + OnDestroy, + OnInit, +} from '@angular/core'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { Contact, ContactService } from '@nested-forms/contact'; import { Subscription } from 'rxjs'; -import { NameComponent } from './name/name.component'; import { AddressListComponent } from './address-list/address-list.component'; +import { NameComponent } from './name/name.component'; @Component({ selector: 'nested-forms-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent implements OnInit, OnDestroy { contact: Contact; @@ -19,10 +22,7 @@ export class AppComponent implements OnInit, OnDestroy { private subscription: Subscription; - constructor( - private service: ContactService, - private fb: FormBuilder, - ) {} + constructor(private service: ContactService, private fb: FormBuilder) {} public ngOnInit() { this.subscription = this.service 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 cf1913d..e4b8c47 100644 --- a/apps/static-factory-methods/src/app/name/name.component.ts +++ b/apps/static-factory-methods/src/app/name/name.component.ts @@ -1,11 +1,17 @@ +import { + ChangeDetectionStrategy, + Component, + Input, + OnInit, +} from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; -import { Component, OnInit, Input } from '@angular/core'; import { Name } from '@nested-forms/contact'; @Component({ selector: 'nested-forms-name', templateUrl: './name.component.html', - styleUrls: ['./name.component.css'] + styleUrls: ['./name.component.css'], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class NameComponent implements OnInit { @Input() nameGroup: FormGroup;