From af5f9995f0394517ac907a529c54944d75073e89 Mon Sep 17 00:00:00 2001
From: Muskan Khedia <36980003+muskankhedia@users.noreply.github.com>
Date: Sun, 28 Jun 2020 09:14:58 +0530
Subject: [PATCH] feat: add view loan (loan collateral tab) (#937)
Fixes: #936
---
src/app/loans/loans-routing.module.ts | 9 ++++++
.../loan-collateral-tab.component.html | 24 +++++++++++++++
.../loan-collateral-tab.component.scss | 8 +++++
.../loan-collateral-tab.component.spec.ts | 25 ++++++++++++++++
.../loan-collateral-tab.component.ts | 29 +++++++++++++++++++
.../loans-view/loans-view.component.html | 6 ++++
src/app/loans/loans.module.ts | 2 ++
7 files changed, 103 insertions(+)
create mode 100644 src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.html
create mode 100644 src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.scss
create mode 100644 src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.spec.ts
create mode 100644 src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.ts
diff --git a/src/app/loans/loans-routing.module.ts b/src/app/loans/loans-routing.module.ts
index fcf0df270..9bb3150a7 100644
--- a/src/app/loans/loans-routing.module.ts
+++ b/src/app/loans/loans-routing.module.ts
@@ -30,6 +30,7 @@ import { LoanDatatableResolver } from './common-resolvers/loan-datatable.resolve
import { LoanActionButtonResolver } from './common-resolvers/loan-action-button.resolver';
import { FloatingInterestRatesComponent } from './loans-view/floating-interest-rates/floating-interest-rates.component';
import { LoanTrancheDetailsComponent } from './loans-view/loan-tranche-details/loan-tranche-details.component';
+import { LoanCollateralTabComponent } from './loans-view/loan-collateral-tab/loan-collateral-tab.component';
const routes: Routes = [
{
@@ -85,6 +86,14 @@ const routes: Routes = [
loanDetailsAssociationData: LoanDetailsChargesResolver
}
},
+ {
+ path: 'loan-collateral',
+ component: LoanCollateralTabComponent,
+ data: { title: extract('Loan Collateral Details'), breadcrumb: 'Loan Collateral Details', routeParamBreadcrumb: false },
+ resolve: {
+ loanDetailsAssociationData: LoanDetailsChargesResolver
+ }
+ },
{
path: 'loan-tranche-details',
component: LoanTrancheDetailsComponent,
diff --git a/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.html b/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.html
new file mode 100644
index 000000000..201e9ffd5
--- /dev/null
+++ b/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+ | Type |
+ {{ ele.type.name }} |
+
+
+
+ Value |
+ {{ ele.value }} |
+
+
+
+ Description |
+ {{ ele.description }} |
+
+
+
+
+
+
+
diff --git a/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.scss b/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.scss
new file mode 100644
index 000000000..9524b93f4
--- /dev/null
+++ b/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.scss
@@ -0,0 +1,8 @@
+table {
+ width: 100%;
+ margin: 3% 0%;
+}
+
+.container {
+ padding-bottom: 2%;
+}
diff --git a/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.spec.ts b/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.spec.ts
new file mode 100644
index 000000000..81d79f113
--- /dev/null
+++ b/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { LoanCollateralTabComponent } from './loan-collateral-tab.component';
+
+describe('LoanCollateralTabComponent', () => {
+ let component: LoanCollateralTabComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ LoanCollateralTabComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(LoanCollateralTabComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.ts b/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.ts
new file mode 100644
index 000000000..35817f7bd
--- /dev/null
+++ b/src/app/loans/loans-view/loan-collateral-tab/loan-collateral-tab.component.ts
@@ -0,0 +1,29 @@
+import { Component, OnInit } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+
+@Component({
+ selector: 'mifosx-loan-collateral-tab',
+ templateUrl: './loan-collateral-tab.component.html',
+ styleUrls: ['./loan-collateral-tab.component.scss']
+})
+export class LoanCollateralTabComponent implements OnInit {
+
+ /** Loan Details */
+ loanDetails: any;
+ /** Columns to be displayed in collateral table. */
+ displayedColumns: string[] = ['type', 'value', 'description'];
+
+ /**
+ * Retrieves the loans data from `resolve`.
+ * @param {ActivatedRoute} route Activated Route.
+ */
+ constructor(private route: ActivatedRoute) {
+ this.route.data.subscribe((data: { loanDetailsAssociationData: any }) => {
+ this.loanDetails = data.loanDetailsAssociationData;
+ });
+ }
+
+ ngOnInit() {
+ }
+
+}
diff --git a/src/app/loans/loans-view/loans-view.component.html b/src/app/loans/loans-view/loans-view.component.html
index 8278ba7e5..f8d85746d 100644
--- a/src/app/loans/loans-view/loans-view.component.html
+++ b/src/app/loans/loans-view/loans-view.component.html
@@ -71,6 +71,12 @@
Transactions
+
+
+ Loan Collateral Details
+
+
Loan Tranche Details
diff --git a/src/app/loans/loans.module.ts b/src/app/loans/loans.module.ts
index 651f2f8fb..45691eacf 100644
--- a/src/app/loans/loans.module.ts
+++ b/src/app/loans/loans.module.ts
@@ -35,6 +35,7 @@ import { WriteOffPageComponent } from './loans-view/loan-account-actions/write-o
import { LoanTrancheDetailsComponent } from './loans-view/loan-tranche-details/loan-tranche-details.component';
import { CloseAsRescheduledComponent } from './loans-view/loan-account-actions/close-as-rescheduled/close-as-rescheduled.component';
import { LoanRescheduleComponent } from './loans-view/loan-account-actions/loan-reschedule/loan-reschedule.component';
+import { LoanCollateralTabComponent } from './loans-view/loan-collateral-tab/loan-collateral-tab.component';
/**
* Loans Module
@@ -70,6 +71,7 @@ import { LoanRescheduleComponent } from './loans-view/loan-account-actions/loan-
LoanTrancheDetailsComponent,
CloseAsRescheduledComponent,
LoanRescheduleComponent,
+ LoanCollateralTabComponent,
],
providers: [DatePipe],
})