diff --git a/src/app/app.component.html b/src/app/app.component.html index 0a0a809..6e1bfaf 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -5,6 +5,7 @@ Angular Service Http Pipe + Event diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 4973d62..fdd0f85 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -28,6 +28,8 @@ import {HttpComponent} from './http/http.component'; import {HttpClient, HttpClientModule} from "@angular/common/http"; import {PipeComponent} from './pipe/pipe.component'; import {FilterPipePipe} from './pipe/filter-pipe.pipe'; +import { CommunicateBetweenComponentsComponent } from './communicate-between-components/communicate-between-components.component'; +import { BankLedgerComponent } from './communicate-between-components/bank-ledger/bank-ledger.component'; const appRoutes: Routes = [ {path: 'directive', component: AngularDirectivesComponent}, @@ -52,7 +54,8 @@ const appRoutes: Routes = [ ] }, {path: 'http', component: HttpComponent}, - {path: 'pipe', component: PipeComponent} + {path: 'pipe', component: PipeComponent}, + {path: 'event', component: CommunicateBetweenComponentsComponent} ]; @@ -80,7 +83,9 @@ const appRoutes: Routes = [ Demo2Component, HttpComponent, PipeComponent, - FilterPipePipe + FilterPipePipe, + CommunicateBetweenComponentsComponent, + BankLedgerComponent ], imports: [ BrowserModule, FormsModule, RouterModule.forRoot( diff --git a/src/app/communicate-between-components/bank-ledger/bank-ledger.component.css b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/communicate-between-components/bank-ledger/bank-ledger.component.html b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.html new file mode 100644 index 0000000..49a185c --- /dev/null +++ b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.html @@ -0,0 +1,11 @@ +
+

Fine Customer


+ +
+ +
+ {{leg}} +
+
+
+
diff --git a/src/app/communicate-between-components/bank-ledger/bank-ledger.component.spec.ts b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.spec.ts new file mode 100644 index 0000000..954b6c0 --- /dev/null +++ b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BankLedgerComponent } from './bank-ledger.component'; + +describe('BankLedgerComponent', () => { + let component: BankLedgerComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ BankLedgerComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BankLedgerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/communicate-between-components/bank-ledger/bank-ledger.component.ts b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.ts new file mode 100644 index 0000000..5a14917 --- /dev/null +++ b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.ts @@ -0,0 +1,38 @@ +import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core'; + +@Component({ + selector: 'app-bank-ledger', + templateUrl: './bank-ledger.component.html', + styleUrls: ['./bank-ledger.component.css'] +}) +export class BankLedgerComponent implements OnInit, OnChanges { + + @Input() + deposit; + + @Output() + private sms = new EventEmitter(); + + ledger = []; + + + constructor() { + } + + ngOnChanges(changes: SimpleChanges): void { + if (changes.deposit && !changes.deposit.isFirstChange()) { + this.ledger.push('Deposit : ' + this.deposit); + this.sms.emit('Deposit Happened : ' + this.deposit); + } + } + + ngOnInit() { + } + + fineCustomer(value: any) { + this.ledger.push('Fine : ' + value); + this.sms.emit('Bank Charges applied for your account : ' + value); + } + + +} diff --git a/src/app/communicate-between-components/communicate-between-components.component.css b/src/app/communicate-between-components/communicate-between-components.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/communicate-between-components/communicate-between-components.component.html b/src/app/communicate-between-components/communicate-between-components.component.html new file mode 100644 index 0000000..6b21c0b --- /dev/null +++ b/src/app/communicate-between-components/communicate-between-components.component.html @@ -0,0 +1,18 @@ +
+
+

Welcome to banking System

+ + Enter Your Deposit +
+ +
+ +
+
+ SMS came :
+ {{sms}} +
+ + + +
diff --git a/src/app/communicate-between-components/communicate-between-components.component.spec.ts b/src/app/communicate-between-components/communicate-between-components.component.spec.ts new file mode 100644 index 0000000..552916c --- /dev/null +++ b/src/app/communicate-between-components/communicate-between-components.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CommunicateBetweenComponentsComponent } from './communicate-between-components.component'; + +describe('CommunicateBetweenComponentsComponent', () => { + let component: CommunicateBetweenComponentsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CommunicateBetweenComponentsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CommunicateBetweenComponentsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/communicate-between-components/communicate-between-components.component.ts b/src/app/communicate-between-components/communicate-between-components.component.ts new file mode 100644 index 0000000..d97b140 --- /dev/null +++ b/src/app/communicate-between-components/communicate-between-components.component.ts @@ -0,0 +1,31 @@ +import {Component, OnInit} from '@angular/core'; + +@Component({ + selector: 'app-communicate-between-components', + templateUrl: './communicate-between-components.component.html', + styleUrls: ['./communicate-between-components.component.css'] +}) +export class CommunicateBetweenComponentsComponent implements OnInit { + value = 0; + latestDeposit: Number; + sms; + + constructor() { + } + + ngOnInit() { + } + + deposit(value: any) { + this.latestDeposit = value; + } + + getDeposit() { + return this.latestDeposit; + } + + showSMS(event) { + this.sms = event; + } + +}