Upgrade to Angular 16

Merge `angular-update-16` into `dev` branch
This commit is contained in:
Adam Saghy
2025-05-23 18:47:20 +02:00
parent c7c2f60182
commit 19a14e5b5b
882 changed files with 14895 additions and 14340 deletions
@@ -1,15 +1,15 @@
<div class="container p-b-20">
<h3>{{ 'labels.heading.Loan Details' | translate }}</h3>
<div fxLayout="row wrap" fxLayout.lt-md="column">
<div fxFlexFill>
<span fxFlex="50%">{{ 'labels.inputs.Repayment Strategy' | translate }}</span>
<span fxFlex="50%">{{ loanDetails.transactionProcessingStrategyName | translateKey: 'catalogs' }}</span>
<div class="responsive-column">
<div class="flex-fill layout-row">
<span class="flex-50">{{ 'labels.inputs.Repayment Strategy' | translate }}</span>
<span class="flex-50">{{ loanDetails.transactionProcessingStrategyName | translateKey: 'catalogs' }}</span>
</div>
<div fxFlexFill>
<span fxFlex="50%">{{ 'labels.inputs.Repayments' | translate }}</span>
<span fxFlex="50%"
<div class="flex-fill layout-row">
<span class="flex-50">{{ 'labels.inputs.Repayments' | translate }}</span>
<span class="flex-50"
>{{ loanDetails.numberOfRepayments }} every {{ loanDetails.repaymentEvery }}&nbsp;{{
loanDetails.repaymentFrequencyType.value | translateKey: 'catalogs'
}}
@@ -32,31 +32,31 @@
</span>
</div>
<div fxFlexFill *ngIf="loanDetails.fixedLength">
<span fxFlex="50%"> {{ 'labels.inputs.Fixed Length' | translate }} </span>
<span fxFlex="50%">
<div class="flex-fill layout-row" *ngIf="loanDetails.fixedLength">
<span class="flex-50"> {{ 'labels.inputs.Fixed Length' | translate }} </span>
<span class="flex-50">
{{ loanDetails.fixedLength }} {{ loanDetails.repaymentFrequencyType.value | translateKey: 'catalogs' }}</span
>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Amortization' | translate }} </span>
<span fxFlex="50%"> {{ loanDetails.amortizationType.value | translateKey: 'catalogs' }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Amortization' | translate }} </span>
<span class="flex-50"> {{ loanDetails.amortizationType.value | translateKey: 'catalogs' }} </span>
</div>
<div fxFlexFill *ngIf="loanDetails.fixedPrincipalPercentagePerInstallment">
<span fxFlex="50%"> {{ 'labels.inputs.Principal Percentage Per Installment' | translate }} </span>
<span fxFlex="50%"> {{ loanDetails.fixedPrincipalPercentagePerInstallment | formatNumber }} %</span>
<div class="flex-fill layout-row" *ngIf="loanDetails.fixedPrincipalPercentagePerInstallment">
<span class="flex-50"> {{ 'labels.inputs.Principal Percentage Per Installment' | translate }} </span>
<span class="flex-50"> {{ loanDetails.fixedPrincipalPercentagePerInstallment | formatNumber }} %</span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Equal Amortization' | translate }} </span>
<span fxFlex="50%"> {{ loanDetails.isEqualAmortization | yesNo }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Equal Amortization' | translate }} </span>
<span class="flex-50"> {{ loanDetails.isEqualAmortization | yesNo }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Interest' | translate }} </span>
<span fxFlex="50%">
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Interest' | translate }} </span>
<span class="flex-50">
{{ loanDetails.annualInterestRate | formatNumber }} % {{ 'labels.text.per annum' | translate }} ({{
loanDetails.interestRatePerPeriod
}}
@@ -64,189 +64,191 @@
</span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Interest Type' | translate }} </span>
<span fxFlex="50%"> {{ 'labels.text.' + loanDetails.interestType.value | translate }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Interest Type' | translate }} </span>
<span class="flex-50"> {{ 'labels.text.' + loanDetails.interestType.value | translate }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%">{{ 'labels.inputs.Enable Down Payments' | translate }}:</span>
<span fxFlex="50%">{{ loanDetails.enableDownPayment | yesNo }}</span>
<div class="flex-fill layout-row">
<span class="flex-50">{{ 'labels.inputs.Enable Down Payments' | translate }}:</span>
<span class="flex-50">{{ loanDetails.enableDownPayment | yesNo }}</span>
</div>
<div fxFlexFill>
<span fxFlex="50%">{{ 'labels.inputs.Loan Charge-off behaviour' | translate }}:</span>
<span fxFlex="50%">{{ loanDetails.chargeOffBehaviour.value | translateKey: 'catalogs' }}</span>
<div class="flex-fill layout-row">
<span class="flex-50">{{ 'labels.inputs.Loan Charge-off behaviour' | translate }}:</span>
<span class="flex-50">{{ loanDetails.chargeOffBehaviour.value | translateKey: 'catalogs' }}</span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Enable income capitalization' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.enableIncomeCapitalization | yesNo }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Enable income capitalization' | translate }}</span>
<span class="flex-50"> {{ loanDetails.enableIncomeCapitalization | yesNo }} </span>
</div>
<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 class="flex-fill layout-row" *ngIf="loanDetails.enableIncomeCapitalization">
<span class="flex-50"> {{ 'labels.inputs.Income capitalization calculation type' | translate }}</span>
<span class="flex-50">
{{ loanDetails.capitalizedIncomeCalculationType?.value | translateKey: 'catalogs' }}
</span>
</div>
<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 class="flex-fill layout-row" *ngIf="loanDetails.enableIncomeCapitalization">
<span class="flex-50"> {{ 'labels.inputs.Income capitalization strategy' | translate }}</span>
<span class="flex-50"> {{ loanDetails.capitalizedIncomeStrategy?.value | translateKey: 'catalogs' }} </span>
</div>
<div fxFlexFill *ngIf="loanDetails.enableIncomeCapitalization">
<span fxFlex="50%"> {{ 'labels.inputs.Income capitalization type' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.capitalizedIncomeType?.value | translateKey: 'catalogs' }} </span>
<div class="flex-fill layout-row" *ngIf="loanDetails.enableIncomeCapitalization">
<span class="flex-50"> {{ 'labels.inputs.Income capitalization type' | translate }}</span>
<span class="flex-50"> {{ loanDetails.capitalizedIncomeType?.value | translateKey: 'catalogs' }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Grace: On Principal Payment' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.graceOnPrincipalPayment }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Grace: On Principal Payment' | translate }}</span>
<span class="flex-50"> {{ loanDetails.graceOnPrincipalPayment }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Grace: On Interest Payment' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.graceOnInterestPayment }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Grace: On Interest Payment' | translate }}</span>
<span class="flex-50"> {{ loanDetails.graceOnInterestPayment }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Grace on Arrears Ageing' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.graceOnArrearsAgeing }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Grace on Arrears Ageing' | translate }}</span>
<span class="flex-50"> {{ loanDetails.graceOnArrearsAgeing }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Enable installment level Delinquency' | translate }} </span>
<span fxFlex="50%"> {{ loanDetails.enableInstallmentLevelDelinquency | yesNo }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Enable installment level Delinquency' | translate }} </span>
<span class="flex-50"> {{ loanDetails.enableInstallmentLevelDelinquency | yesNo }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Fund Source' | translate }} </span>
<span fxFlex="50%" *ngIf="loanDetails.fundName"> {{ loanDetails.fundName }} </span>
<span fxFlex="50%" *ngIf="!loanDetails.fundName"> {{ 'labels.inputs.Unassigned' | translate }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Fund Source' | translate }} </span>
<span class="flex-50" *ngIf="loanDetails.fundName"> {{ loanDetails.fundName }} </span>
<span class="flex-50" *ngIf="!loanDetails.fundName"> {{ 'labels.inputs.Unassigned' | translate }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Interest Free Period' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.graceOnInterestCharged }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Interest Free Period' | translate }}</span>
<span class="flex-50"> {{ loanDetails.graceOnInterestCharged }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Interest Calculation Period' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.interestCalculationPeriodType.value | translateKey: 'catalogs' }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Interest Calculation Period' | translate }}</span>
<span class="flex-50"> {{ loanDetails.interestCalculationPeriodType.value | translateKey: 'catalogs' }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%">
<div class="flex-fill layout-row">
<span class="flex-50">
{{ 'labels.inputs.Allow Partial Interest Calculation with same as repayment' | translate }}</span
>
<span fxFlex="50%"> {{ loanDetails.allowPartialPeriodInterestCalculation | yesNo }} </span>
<span class="flex-50"> {{ loanDetails.allowPartialPeriodInterestCalculation | yesNo }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%">{{ 'labels.inputs.Is interest recognition on disbursement date?' | translate }}:</span>
<span fxFlex="50%">{{ loanDetails.interestRecognitionOnDisbursementDate | yesNo }}</span>
<div class="flex-fill layout-row">
<span class="flex-50">{{ 'labels.inputs.Is interest recognition on disbursement date?' | translate }}:</span>
<span class="flex-50">{{ loanDetails.interestRecognitionOnDisbursementDate | yesNo }}</span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Submitted on' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.timeline.submittedOnDate | dateFormat }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Submitted on' | translate }}</span>
<span class="flex-50"> {{ loanDetails.timeline.submittedOnDate | dateFormat }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Approved on' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.timeline.approvedOnDate | dateFormat }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Approved on' | translate }}</span>
<span class="flex-50"> {{ loanDetails.timeline.approvedOnDate | dateFormat }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Disbursed on' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.timeline.actualDisbursementDate | dateFormat }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Disbursed on' | translate }}</span>
<span class="flex-50"> {{ loanDetails.timeline.actualDisbursementDate | dateFormat }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Matures on' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.timeline.expectedMaturityDate | dateFormat }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Matures on' | translate }}</span>
<span class="flex-50"> {{ loanDetails.timeline.expectedMaturityDate | dateFormat }} </span>
</div>
<div fxFlexFill *ngIf="loanDetails.canDefineInstallmentAmount">
<span fxFlex="50%"> {{ 'labels.inputs.Fixed EMI amount' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.fixedEmiAmount | formatNumber }} </span>
<div class="flex-fill layout-row" *ngIf="loanDetails.canDefineInstallmentAmount">
<span class="flex-50"> {{ 'labels.inputs.Fixed EMI amount' | translate }}</span>
<span class="flex-50"> {{ loanDetails.fixedEmiAmount | formatNumber }} </span>
</div>
<div fxFlexFill *ngIf="loanDetails.isTopup">
<span fxFlex="50%"> {{ 'labels.inputs.Is Topup Loan' | translate }}?</span>
<span fxFlex="50%"> {{ loanDetails.isTopup | yesNo }} </span>
<div class="flex-fill layout-row" *ngIf="loanDetails.isTopup">
<span class="flex-50"> {{ 'labels.inputs.Is Topup Loan' | translate }}?</span>
<span class="flex-50"> {{ loanDetails.isTopup | yesNo }} </span>
</div>
<div fxFlexFill *ngIf="loanDetails.isTopup">
<span fxFlex="50%"> {{ 'labels.inputs.Loan closed with Topup' | translate }} </span>
<span fxFlex="50%">
<div class="flex-fill layout-row" *ngIf="loanDetails.isTopup">
<span class="flex-50"> {{ 'labels.inputs.Loan closed with Topup' | translate }} </span>
<span class="flex-50">
<a href="#">{{ loanDetails.closureLoanAccountNo }}</a>
</span>
</div>
<div fxFlexFill *ngIf="loanDetails.isTopup">
<span fxFlex="50%"> {{ 'labels.inputs.Topup closure amount' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.topupAmount | formatNumber }} </span>
<div class="flex-fill layout-row" *ngIf="loanDetails.isTopup">
<span class="flex-50"> {{ 'labels.inputs.Topup closure amount' | translate }}</span>
<span class="flex-50"> {{ loanDetails.topupAmount | formatNumber }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Recalculate Interest based on new terms' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.isInterestRecalculationEnabled | yesNo }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Recalculate Interest based on new terms' | translate }}</span>
<span class="flex-50"> {{ loanDetails.isInterestRecalculationEnabled | yesNo }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Days in year' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.daysInYearType.value | translateKey: 'catalogs' }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Days in year' | translate }}</span>
<span class="flex-50"> {{ loanDetails.daysInYearType.value | translateKey: 'catalogs' }} </span>
</div>
<div fxFlexFill>
<span fxFlex="50%"> {{ 'labels.inputs.Days in month' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.daysInMonthType.value | translateKey: 'catalogs' }} </span>
<div class="flex-fill layout-row">
<span class="flex-50"> {{ 'labels.inputs.Days in month' | translate }}</span>
<span class="flex-50"> {{ loanDetails.daysInMonthType.value | translateKey: 'catalogs' }} </span>
</div>
<div fxFlexFill *ngIf="loanDetails.isInterestRecalculationEnabled">
<span fxFlex="50%"> {{ 'labels.inputs.Interest recalculation compounding on' | translate }}</span>
<span fxFlex="50%">
<div class="flex-fill layout-row" *ngIf="loanDetails.isInterestRecalculationEnabled">
<span class="flex-50"> {{ 'labels.inputs.Interest recalculation compounding on' | translate }}</span>
<span class="flex-50">
{{
loanDetails.interestRecalculationData.interestRecalculationCompoundingType.value | translateKey: 'catalogs'
}}
</span>
</div>
<div fxFlexFill *ngIf="loanDetails.isInterestRecalculationEnabled">
<span fxFlex="50%"> {{ 'labels.inputs.Advance payments adjustment type' | translate }}</span>
<span fxFlex="50%">
<div class="flex-fill layout-row" *ngIf="loanDetails.isInterestRecalculationEnabled">
<span class="flex-50"> {{ 'labels.inputs.Advance payments adjustment type' | translate }}</span>
<span class="flex-50">
{{ loanDetails.interestRecalculationData.rescheduleStrategyType.value | translateKey: 'catalogs' }}
</span>
</div>
<div fxFlexFill *ngIf="loanDetails.isInterestRecalculationEnabled">
<span fxFlex="50%"> {{ 'labels.inputs.Frequency for recalculate Outstanding Principal' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.interestRecalculationData.calendarData.humanReadable }} </span>
<div class="flex-fill layout-row" *ngIf="loanDetails.isInterestRecalculationEnabled">
<span class="flex-50"> {{ 'labels.inputs.Frequency for recalculate Outstanding Principal' | translate }}</span>
<span class="flex-50"> {{ loanDetails.interestRecalculationData.calendarData.humanReadable }} </span>
</div>
<div
fxFlexFill
class="flex-fill layout-row"
*ngIf="
loanDetails.isInterestRecalculationEnabled &&
loanDetails.interestRecalculationData.interestRecalculationCompoundingType.id !== 0
"
>
<span fxFlex="50%"> {{ 'labels.inputs.Frequency for compounding' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.interestRecalculationData.compoundingCalendarData.humanReadable }} </span>
<span class="flex-50"> {{ 'labels.inputs.Frequency for compounding' | translate }}</span>
<span class="flex-50"> {{ loanDetails.interestRecalculationData.compoundingCalendarData.humanReadable }} </span>
</div>
<div fxFlexFill *ngIf="loanDetails.isVariableInstallmentsAllowed">
<span fxFlex="50%"> {{ 'labels.inputs.Variable Installments Allowed' | translate }}</span>
<span fxFlex="50%"> {{ loanDetails.isVariableInstallmentsAllowed | yesNo }} </span>
<div class="flex-fill layout-row" *ngIf="loanDetails.isVariableInstallmentsAllowed">
<span class="flex-50"> {{ 'labels.inputs.Variable Installments Allowed' | translate }}</span>
<span class="flex-50"> {{ loanDetails.isVariableInstallmentsAllowed | yesNo }} </span>
</div>
<div fxFlexFill *ngIf="loanDetails.isVariableInstallmentsAllowed">
<span fxFlex="50%"> {{ 'labels.inputs.Gap between Installments' | translate }}</span>
<span fxFlex="50%">
<div class="flex-fill layout-row" *ngIf="loanDetails.isVariableInstallmentsAllowed">
<span class="flex-50"> {{ 'labels.inputs.Gap between Installments' | translate }}</span>
<span class="flex-50">
{{ loanDetails.minimumGap | formatNumber }}&nbsp;{{ 'labels.text.Days' | translate }}&nbsp;, Max:{{
loanDetails.maximumGap | formatNumber
}}&nbsp;{{ 'labels.text.Days' | translate }})
}}&nbsp;{{ 'labels.text.Days' | translate }}
</span>
</div>
</div>