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