fix: Loan Product Capitalized Income values
This commit is contained in:
@@ -81,15 +81,15 @@
|
||||
|
||||
<div fxFlexFill>
|
||||
<span fxFlex="50%"> {{ 'labels.inputs.Enable income capitalization' | translate }}</span>
|
||||
<span fxFlex="50%"> {{ loanDetails.enableAutoRepaymentForDownPayment | yesNo }} </span>
|
||||
<span fxFlex="50%"> {{ loanDetails.enableIncomeCapitalization | yesNo }} </span>
|
||||
</div>
|
||||
|
||||
<div fxFlexFill *ngIf="loanDetails.enableAutoRepaymentForDownPayment">
|
||||
<div fxFlexFill *ngIf="loanDetails.enableIncomeCapitalization">
|
||||
<span fxFlex="50%"> {{ 'labels.inputs.Income capitalization calculation type' | translate }}</span>
|
||||
<span fxFlex="50%"> {{ loanDetails.capitalizedIncomeCalculationType?.value | translateKey: 'catalogs' }} </span>
|
||||
</div>
|
||||
|
||||
<div fxFlexFill *ngIf="loanDetails.enableAutoRepaymentForDownPayment">
|
||||
<div fxFlexFill *ngIf="loanDetails.enableIncomeCapitalization">
|
||||
<span fxFlex="50%"> {{ 'labels.inputs.Income capitalization strategy' | translate }}</span>
|
||||
<span fxFlex="50%"> {{ loanDetails.capitalizedIncomeStrategy?.value | translateKey: 'catalogs' }} </span>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -859,7 +859,7 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div fxFlexFill *ngIf="isAdvancedAccountingEnabled()" fxLayout="row wrap" fxLayout.lt-md="column">
|
||||
<div fxFlexFill *ngIf="isAdvancedPaymentAllocation" fxLayout="row wrap" fxLayout.lt-md="column">
|
||||
<h3 class="mat-h3" fxFlexFill>{{ 'labels.inputs.Income capitalization' | translate }}</h3>
|
||||
|
||||
<mat-divider [inset]="true"></mat-divider>
|
||||
|
||||
@@ -144,6 +144,12 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
this.supportedInterestRefundTypes = supportedInterestRefundTypes;
|
||||
}
|
||||
|
||||
setCapitalizedIncome(capitalizedIncome: CapitalizedIncome): void {
|
||||
if (this.isAdvancedPaymentStrategy) {
|
||||
this.capitalizedIncome = capitalizedIncome;
|
||||
}
|
||||
}
|
||||
|
||||
get loanProductSettingsForm() {
|
||||
return this.loanProductSettingsStep.loanProductSettingsForm;
|
||||
}
|
||||
@@ -181,6 +187,13 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
loanProduct['paymentAllocation'] = this.paymentAllocation;
|
||||
loanProduct['creditAllocation'] = this.creditAllocation;
|
||||
loanProduct['supportedInterestRefundTypes'] = this.supportedInterestRefundTypes;
|
||||
if (this.capitalizedIncome != null) {
|
||||
loanProduct['enableIncomeCapitalization'] = this.capitalizedIncome.enableIncomeCapitalization;
|
||||
if (this.capitalizedIncome.enableIncomeCapitalization) {
|
||||
loanProduct['capitalizedIncomeCalculationType'] = this.capitalizedIncome.incomeCapitalizationCalculationType;
|
||||
loanProduct['capitalizedIncomeStrategy'] = this.capitalizedIncome.incomeCapitalizationStrategy;
|
||||
}
|
||||
}
|
||||
}
|
||||
return loanProduct;
|
||||
}
|
||||
|
||||
+29
-6
@@ -1,4 +1,4 @@
|
||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { CapitalizedIncome } from '../loan-product-payment-strategy-step/payment-allocation-model';
|
||||
import { StringEnumOptionData } from 'app/shared/models/option-data.model';
|
||||
@@ -8,7 +8,7 @@ import { StringEnumOptionData } from 'app/shared/models/option-data.model';
|
||||
templateUrl: './loan-product-capitalized-income-step.component.html',
|
||||
styleUrls: ['./loan-product-capitalized-income-step.component.scss']
|
||||
})
|
||||
export class LoanProductCapitalizedIncomeStepComponent {
|
||||
export class LoanProductCapitalizedIncomeStepComponent implements OnChanges {
|
||||
@Input() capitalizedIncome: CapitalizedIncome;
|
||||
@Input() capitalizedIncomeCalculationTypeOptions: StringEnumOptionData[];
|
||||
@Input() capitalizedIncomeStrategyOptions: StringEnumOptionData[];
|
||||
@@ -46,22 +46,45 @@ export class LoanProductCapitalizedIncomeStepComponent {
|
||||
}
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges): void {
|
||||
this.enableIncomeCapitalization = this.capitalizedIncome.enableIncomeCapitalization;
|
||||
if (this.enableIncomeCapitalization) {
|
||||
this.loanIncomeCapitalizationForm.patchValue({
|
||||
enableIncomeCapitalization: this.enableIncomeCapitalization,
|
||||
incomeCapitalizationCalculationType: this.capitalizedIncome.incomeCapitalizationCalculationType,
|
||||
incomeCapitalizationStrategy: this.capitalizedIncome.incomeCapitalizationStrategy
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setConditionalControls() {
|
||||
this.loanIncomeCapitalizationForm.get('enableIncomeCapitalization').valueChanges.subscribe((enabled: boolean) => {
|
||||
this.enableIncomeCapitalization = enabled;
|
||||
if (this.enableIncomeCapitalization) {
|
||||
const incomeCapitalizationCalculationType =
|
||||
this.capitalizedIncome.incomeCapitalizationCalculationType == ''
|
||||
? this.capitalizedIncomeCalculationTypeOptions[0].id
|
||||
: this.capitalizedIncome.incomeCapitalizationCalculationType;
|
||||
this.loanIncomeCapitalizationForm.addControl(
|
||||
'incomeCapitalizationCalculationType',
|
||||
new UntypedFormControl(this.capitalizedIncome.incomeCapitalizationCalculationType, Validators.required)
|
||||
new UntypedFormControl(
|
||||
this.capitalizedIncome.incomeCapitalizationCalculationType ||
|
||||
this.capitalizedIncomeCalculationTypeOptions[0].id,
|
||||
Validators.required
|
||||
)
|
||||
);
|
||||
const incomeCapitalizationStrategy =
|
||||
this.capitalizedIncome.incomeCapitalizationStrategy == ''
|
||||
? this.capitalizedIncomeStrategyOptions[0].id
|
||||
: this.capitalizedIncome.incomeCapitalizationStrategy;
|
||||
this.loanIncomeCapitalizationForm.addControl(
|
||||
'incomeCapitalizationStrategy',
|
||||
new UntypedFormControl(this.capitalizedIncome.incomeCapitalizationStrategy, Validators.required)
|
||||
new UntypedFormControl(incomeCapitalizationStrategy, Validators.required)
|
||||
);
|
||||
this.setCapitalizedIncome.emit({
|
||||
enableIncomeCapitalization: true,
|
||||
incomeCapitalizationCalculationType: '',
|
||||
incomeCapitalizationStrategy: ''
|
||||
incomeCapitalizationCalculationType: incomeCapitalizationCalculationType,
|
||||
incomeCapitalizationStrategy: incomeCapitalizationStrategy
|
||||
});
|
||||
|
||||
this.loanIncomeCapitalizationForm
|
||||
|
||||
Reference in New Issue
Block a user