i18n: Adding new languages: Part 2 (#1885)

Co-authored-by: radhathakare <radhathakare322@gmail.com>
This commit is contained in:
José Alberto Hernández
2023-10-25 22:42:07 -06:00
committed by GitHub
co-authored by radhathakare
parent 408f004450
commit 3c625d81c4
177 changed files with 36476 additions and 35908 deletions
@@ -2,7 +2,7 @@
<div fxLayout="row" fxLayoutAlign="start">
<div class="m-b-10">
<h3>All Charges</h3>
<h3>{{"labels.heading.All Charges" | translate }}</h3>
</div>
</div>
@@ -11,58 +11,58 @@
<table mat-table #chargesTable [dataSource]="dataSource">
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef> Name </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.name" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{ charge.name }} </td>
</ng-container>
<ng-container matColumnDef="feeOrPenalty">
<th mat-header-cell *matHeaderCellDef> Fee/Penalty </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Fee/Penalty" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{ charge.penalty === true ? 'Penalty' : 'Fee' }} </td>
</ng-container>
<ng-container matColumnDef="paymentDueAt">
<th mat-header-cell *matHeaderCellDef> Payment Due At </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Payment Due At" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{ charge.chargeTimeType.value }} </td>
</ng-container>
<ng-container matColumnDef="dueAsOf">
<th mat-header-cell *matHeaderCellDef> Due As Of </th>
<td mat-cell *matCellDef="let charge"> {{ charge.dueDate | dateFormat }} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Due As Of" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{ charge.dueDate | dateFormat }} </td>
</ng-container>
<ng-container matColumnDef="repeatsOn">
<th mat-header-cell *matHeaderCellDef> Repeats On </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Repeats On" | translate }} </th>
<td mat-cell *matCellDef="let charge">
{{charge.feeOnMonthDay ? ([2000].concat(charge.feeOnMonthDay) | dateFormat: 'dd MMMM') : 'Unassigned'}} </td>
</ng-container>
<ng-container matColumnDef="calculationType">
<th mat-header-cell *matHeaderCellDef> Calculation Type </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Calculation Type" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{charge.chargeCalculationType.value}} </td>
</ng-container>
<ng-container matColumnDef="due">
<th mat-header-cell *matHeaderCellDef> Due </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Due" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{charge.currency.displaySymbol}}&nbsp;{{charge.amount}} </td>
</ng-container>
<ng-container matColumnDef="paid">
<th mat-header-cell *matHeaderCellDef> Paid </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Paid" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{charge.currency.displaySymbol}}&nbsp;{{charge.amountPaid}} </td>
</ng-container>
<ng-container matColumnDef="waived">
<th mat-header-cell *matHeaderCellDef> Waived </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Waived" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{charge.currency.displaySymbol}}&nbsp;{{charge.amountWaived}} </td>
</ng-container>
<ng-container matColumnDef="outstanding">
<th mat-header-cell *matHeaderCellDef> Outstanding </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Outstanding" | translate }} </th>
<td mat-cell *matCellDef="let charge"> {{charge.currency.displaySymbol}}&nbsp;{{charge.amountOutstanding}} </td>
</ng-container>
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef> Actions </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Actions" | translate }} </th>
<td mat-cell *matCellDef="let charge">
<span *ngIf="recurringDepositsAccountData.status.value === 'Submitted and pending approval'">
<button class="account-action-button" mat-raised-button color="primary" matTooltip="Edit Charge"
@@ -3,6 +3,6 @@
<p>{{ data.dialogContext }}</p>
</div>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>Cancel</button>
<button mat-raised-button color="warn" [mat-dialog-close]="{ confirm: true }">Confirm</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="warn" [mat-dialog-close]="{ confirm: true }">{{"labels.buttons.Confirm" | translate }}</button>
</mat-dialog-actions>
@@ -2,7 +2,7 @@
<div fxLayoutAlign="start">
<div class="m-b-20">
<h3>All Interest Rates</h3>
<h3>{{"labels.heading.All Interest Rates" | translate }}</h3>
</div>
</div>
@@ -11,38 +11,38 @@
<table mat-table [dataSource]="interestRateChartData" #chartsTable multiTemplateDataRows>
<ng-container matColumnDef="period">
<th mat-header-cell *matHeaderCellDef> Period </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Period" | translate }} </th>
<td mat-cell *matCellDef="let chartSlab">
{{chartSlab.fromPeriod}}-{{chartSlab.toPeriod}}&nbsp;{{chartSlab.periodType.value}}</td>
</ng-container>
<ng-container matColumnDef="amountRange">
<th mat-header-cell *matHeaderCellDef> Amount Range </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount Range" | translate }} </th>
<td mat-cell *matCellDef="let chartSlab">{{chartSlab.amountRangeFrom}}-{{chartSlab.amountRangeTo}}</td>
</ng-container>
<ng-container matColumnDef="interest">
<th mat-header-cell *matHeaderCellDef> Interest </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Interest" | translate }} </th>
<td mat-cell *matCellDef="let chartSlab"> {{ chartSlab.annualInterestRate }} </td>
</ng-container>
<ng-container matColumnDef="description">
<th mat-header-cell *matHeaderCellDef> Description </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Description" | translate }} </th>
<td mat-cell *matCellDef="let chartSlab"> {{ chartSlab.description }} </td>
</ng-container>
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef> Actions </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Actions" | translate }} </th>
<td mat-cell *matCellDef="let chartSlab; let chartSlabIndex = dataIndex">
<button mat-button color="primary"
(click)="expandChartSlabIndex = expandChartSlabIndex === chartSlabIndex ? null : chartSlabIndex">
<span *ngIf="expandChartSlabIndex !== chartSlabIndex">
<fa-icon icon="eye" class="m-r-10"></fa-icon>
View Incentives
{{"labels.buttons.View Incentives" | translate }}
</span>
<span *ngIf="expandChartSlabIndex === chartSlabIndex">
<fa-icon icon="eye-slash" class="m-r-10"></fa-icon>
Hide Incentives
{{"labels.buttons.Hide Incentives" | translate }}
</span>
</button>
</td>
@@ -58,49 +58,49 @@
<mat-card fxLayout="row wrap" fxFlexFill>
<h4 class="m-b-10" fxFlex="13%">
Incentives
{{"labels.heading.Incentives" | translate }}
</h4>
<table fxFlexFill class="mat-elevation-z1" mat-table [dataSource]="chartSlab.incentives"
*ngIf="chartSlab.incentives?.length">
<ng-container matColumnDef="entityType">
<th mat-header-cell *matHeaderCellDef> Entity Type </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Entity Type" | translate }} </th>
<td mat-cell *matCellDef="let incentive">
{{ incentive.entityType.value }}
</td>
</ng-container>
<ng-container matColumnDef="attributeName">
<th mat-header-cell *matHeaderCellDef> Attribute Name </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Attribute Name" | translate }} </th>
<td mat-cell *matCellDef="let incentive">
{{ incentive.attributeName.value }}
</td>
</ng-container>
<ng-container matColumnDef="conditionType">
<th mat-header-cell *matHeaderCellDef> Condition Type </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Condition Type" | translate }} </th>
<td mat-cell *matCellDef="let incentive">
{{ incentive.conditionType.value | titlecase }}
</td>
</ng-container>
<ng-container matColumnDef="attributeValue">
<th mat-header-cell *matHeaderCellDef> Attribute Value </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Attribute Value" | translate }} </th>
<td mat-cell *matCellDef="let incentive" [ngSwitch]="incentive.attributeName">
{{ incentive.attributeValueDesc }}
</td>
</ng-container>
<ng-container matColumnDef="incentiveType">
<th mat-header-cell *matHeaderCellDef> Incentive Type </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Incentive Type" | translate }} </th>
<td mat-cell *matCellDef="let incentive">
{{ incentive.incentiveType.value }}
</td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> Interest </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Interest" | translate }} </th>
<td mat-cell *matCellDef="let incentive">
{{ incentive.amount }}
</td>
@@ -16,7 +16,7 @@
<h3 fxFlex="95%">
<i class="fa fa-stop" [ngClass]="recurringDepositsAccountData.status.code | statusLookup"
[matTooltip]="recurringDepositsAccountData.status.value"></i>
Account Name : {{recurringDepositsAccountData.depositProductName}}
{{"labels.inputs.Account Name" | translate }} : {{recurringDepositsAccountData.depositProductName}}
</h3>
<div fxFlex="5%">
<button mat-icon-button [matMenuTriggerFor]="accountMenu" aria-label="Loan account actions"
@@ -29,14 +29,14 @@
</mat-card-title>
<mat-card-subtitle>
<p>
Account #: {{recurringDepositsAccountData.accountNo}} | Client Name:
{{"labels.inputs.Account" | translate }} #: {{recurringDepositsAccountData.accountNo}} | {{"labels.inputs.Client Name" | translate }}:
{{recurringDepositsAccountData.clientName}}<br />
<span
*ngIf="!recurringDepositsAccountData.status.rejected && !recurringDepositsAccountData.status.submittedAndPendingApproval">
Current Balance:
{{recurringDepositsAccountData.summary.accountBalance | currency:currencyCode:'symbol-narrow':'1.2-2'}}<br />
Available Balance:
{{recurringDepositsAccountData.summary.availableBalance | currency:currencyCode:'symbol-narrow':'1.2-2'}}<br />
{{"labels.inputs.Current Balance" | translate }}:
{{recurringDepositsAccountData.currency.displaySymbol}}&nbsp;{{recurringDepositsAccountData.summary.accountBalance}}<br />
{{"labels.inputs.Available Balance" | translate }}:
{{recurringDepositsAccountData.currency.displaySymbol}}&nbsp;{{recurringDepositsAccountData.summary.availableBalance}}<br />
</span>
</p>
</mat-card-subtitle>
@@ -61,6 +61,24 @@
</mat-card-title-group>
<mat-card-actions class="account-actions">
<ng-container *ngFor="let button of buttonConfig.singleButtons">
<button mat-raised-button (click)="doAction(button.name)">
<i ngClass="{{button.icon}}"></i> {{button.name}}</button>
</ng-container>
<ng-container *ngIf="buttonConfig.options.length">
<button mat-raised-button [matMenuTriggerFor]="More">{{"labels.buttons.More" | translate }}</button>
<mat-menu #More="matMenu">
<span *ngFor="let option of buttonConfig.options">
<button mat-menu-item (click)="doAction(option.name)">{{option.name}}</button>
</span>
</mat-menu>
</ng-container>
</mat-card-actions>
</mat-card-header>
<mat-card-content class="content">
@@ -69,46 +87,41 @@
<div fxFlex="49%"
*ngIf="!recurringDepositsAccountData.status.rejected && !recurringDepositsAccountData.status.submittedAndPendingApproval">
<h4 class="table-headers">Savings Details</h4>
<h4 class="table-headers">{{"labels.heading.Savings Details" | translate }}</h4>
<table>
<tbody>
<tr>
<td>Field Officer</td>
<td>{{"labels.inputs.Field Officer" | translate }}</td>
<td>{{recurringDepositsAccountData.fieldOfficerName}}<span
*ngIf="!recurringDepositsAccountData.fieldOfficerName">Unassigned</span></td>
*ngIf="!recurringDepositsAccountData.fieldOfficerName">{{"labels.inputs.Unassigned" | translate }}</span></td>
</tr>
<tr>
<td>Activation date</td>
<td>{{recurringDepositsAccountData.timeline.activatedOnDate | dateFormat}}</td>
<td>{{"labels.inputs.Activation date" | translate }}</td>
<td>{{recurringDepositsAccountData.timeline.activatedOnDate | dateFormat}}</td>
</tr>
<tr>
<td>Maturity Date</td>
<td><span>{{recurringDepositsAccountData.maturityDate | dateFormat}}</span></td>
<td>{{"labels.inputs.Maturity Date" | translate }}</td>
<td><span>{{recurringDepositsAccountData.maturityDate | dateFormat}}</span></td>
</tr>
<tr
*ngIf="recurringDepositsAccountData.timeline.closedOnDate || recurringDepositsAccountData.summary.totalWitddrawals">
<td *ngIf="recurringDepositsAccountData.timeline.closedOnDate">
Closed on Date</td>
<td><span>{{recurringDepositsAccountData.timeline.closedOnDate | dateFormat}}</span></td>
{{"labels.inputs.Closed on Date" | translate }}</td>
<td><span>{{recurringDepositsAccountData.timeline.closedOnDate | dateFormat}}</span></td>
</tr>
<tr>
<td>Period</td>
<td>
<span>{{recurringDepositsAccountData.depositPeriod}}&nbsp;{{recurringDepositsAccountData.depositPeriodFrequency.value}}</span>
</td>
</tr>
<tr>
<td>Deposit Frequency</td>
<td><span>{{recurringDepositsAccountData.recurringFrequency}}
&nbsp;{{recurringDepositsAccountData.recurringFrequencyType.value}}
</span></td>
</tr>
<tr *ngIf="recurringDepositsAccountData.minBalanceForInterestCalculation">
<td> Balance Required For Interest Calculation</td>
<td><span>{{recurringDepositsAccountData.minBalanceForInterestCalculation | number }}</span></td>
<td> {{"labels.inputs.Balance Required For Interest Calculation" | translate }}</td>
<td><span>{{recurringDepositsAccountData.minBalanceForInterestCalculation}}</span></td>
</tr>
<tr *ngIf="recurringDepositsAccountData.witdHoldTax">
<td> Witdhold Tax Group </td>
<td> {{"labels.inputs.Witdhold Tax Group" | translate }} </td>
<td><span>{{recurringDepositsAccountData.taxGroup.name}}</span></td>
</tr>
</tbody>
@@ -117,29 +130,29 @@
<div fxFlex="49%"
*ngIf="!recurringDepositsAccountData.status.rejected && !recurringDepositsAccountData.status.submittedAndPendingApproval">
<h4 class="table-headers">Performance History</h4>
<h4 class="table-headers">{{"labels.heading.Performance History" | translate }}</h4>
<table>
<tbody>
<tr>
<td>Principal Amount</td>
<td>{{"labels.inputs.Principal Amount" | translate }}</td>
<td>
<span>{{recurringDepositsAccountData.depositAmount | currency:currencyCode:'symbol-narrow':'1.2-2'}}}</span>
</td>
</tr>
<tr>
<td>Maturity Amount</td>
<td>{{"labels.inputs.Maturity Amount" | translate }}</td>
<td>
<span>{{recurringDepositsAccountData.maturityAmount | currency:currencyCode:'symbol-narrow':'1.2-2'}}}</span>
</td>
</tr>
<tr>
<td>Recurring Deposit Amount</td>
<td>{{"labels.inputs.Recurring Deposit Amount" | translate }}</td>
<td>
<span>{{recurringDepositsAccountData?.mandatoryRecommendedDepositAmount | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
</td>
</tr>
<tr>
<td>Deposits till Date</td>
<td>{{"labels.inputs.Deposits till Date" | translate }}</td>
<td><span
*ngIf="recurringDepositsAccountData.summary.totalDeposits">{{recurringDepositsAccountData.summary.totalDeposits | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
<span
@@ -147,7 +160,7 @@
</td>
</tr>
<tr>
<td>Withdrwals till Date</td>
<td>{{"labels.inputs.Withdrwals till Date" | translate }}</td>
<td><span
*ngIf="recurringDepositsAccountData.summary.totalWithdrawals">{{recurringDepositsAccountData.summary.totalWithdrawals | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
<span
@@ -156,8 +169,8 @@
</tr>
<tr *ngIf="recurringDepositsAccountData.summary.totalInterestEarned >= 0">
<td >Interest Earned</td>
<td><span>{{recurringDepositsAccountData.summary.totalInterestEarned | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
<td >{{"labels.inputs.Interest Earned" | translate }}</td>
<td><span>{{recurringDepositsAccountData.currency.displaySymbol}}&nbsp;{{recurringDepositsAccountData.summary.totalInterestEarned| formatNumber}}</span>
</td>
</tr>
@@ -170,55 +183,55 @@
<table>
<tbody>
<tr>
<td>Date of Deposit</td>
<td>{{"labels.inputs.Date of Deposit" | translate }}</td>
<td>
<span *ngIf="!recurringDepositsAccountData.expectedFirstDepositOnDate">{{recurringDepositsAccountData.timeline.activatedOnDate | dateFormat}}
<span *ngIf="!recurringDepositsAccountData.timeline.activatedOnDate">Not Activated</span>
<span *ngIf="!recurringDepositsAccountData.expectedFirstDepositOnDate">{{recurringDepositsAccountData.timeline.activatedOnDate | dateFormat}}
<span *ngIf="!recurringDepositsAccountData.timeline.activatedOnDate">{{"labels.inputs.Not Activated" | translate }}</span>
</span>
<span *ngIf="recurringDepositsAccountData.expectedFirstDepositOnDate" >{{recurringDepositsAccountData.expectedFirstDepositOnDate | dateFormat}}
<span *ngIf="!recurringDepositsAccountData.expectedFirstDepositOnDate">Not Activated</span>
<span *ngIf="recurringDepositsAccountData.expectedFirstDepositOnDate" >{{recurringDepositsAccountData.expectedFirstDepositOnDate | dateFormat}}
<span *ngIf="!recurringDepositsAccountData.expectedFirstDepositOnDate">{{"labels.inputs.Not Activated" | translate }}</span>
</span>
</td>
</tr>
<tr>
<td>Period</td>
<td>{{"labels.inputs.Period" | translate }}</td>
<td>
<span>{{recurringDepositsAccountData.depositPeriod}}&nbsp;{{recurringDepositsAccountData.depositPeriodFrequency.value}}</span>
</td>
</tr>
<tr *ngIf="recurringDepositsAccountData.maturityDate">
<td>Maturity Date</td>
<td><span>{{recurringDepositsAccountData.maturityDate | dateFormat}}</span></td>
<td>{{"labels.inputs.Maturity Date" | translate }}</td>
<td><span>{{recurringDepositsAccountData.maturityDate | dateFormat}}</span></td>
</tr>
<tr>
<td>Total Deposits </td>
<td>{{"labels.inputs.Total Deposits" | translate }}</td>
<td>
<span *ngIf="recurringDepositsAccountData.summary.totalDeposits">{{ recurringDepositsAccountData.summary.totalDeposits | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
<span *ngIf="!recurringDepositsAccountData.summary.totalDeposits">{{ 0 | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
</td>
</tr>
<tr >
<td> Actual Available Balance</td>
<td>{{ recurringDepositsAccountData.summary.accountBalance | currency:currencyCode:'symbol-narrow':'1.2-2'}}</td>
<td> {{"labels.inputs.Actual Available Balance" | translate }}</td>
<td>{{ recurringDepositsAccountData.currency.displaySymbol }}&nbsp;{{ recurringDepositsAccountData.summary.accountBalance }}</td>
</tr>
<tr>
<td> Recurring Deposits Amount</td>
<td> {{"labels.inputs.Recurring Deposits Amount" | translate }}</td>
<td>
{{ recurringDepositsAccountData.mandatoryRecommendedDepositAmount | currency:currencyCode:'symbol-narrow':'1.2-2'}}
</td>
</tr>
<tr *ngIf="recurringDepositsAccountData.summary.totalInterestEarned">
<td> Interests Earned </td>
<td><span>{{ recurringDepositsAccountData.summary.totalInterestEarned | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span></td>
<td> {{"labels.inputs.Interests Earned" | translate }} </td>
<td><span>{{ recurringDepositsAccountData.currency.displaySymbol }}&nbsp;{{ recurringDepositsAccountData.summary.totalInterestEarned }}</span></td>
</tr>
<tr *ngIf="recurringDepositsAccountData.summary.totalWithdrawals">
<td> Total Withdrawls </td>
<td> {{"labels.inputs.Total Withdrawls" | translate }} </td>
<td>
<span>{{ recurringDepositsAccountData.summary.totalWithdrawals | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
</td>
</tr>
<tr *ngIf="recurringDepositsAccountData.minBalanceForInterestCalculation">
<td> Balance Required For Interest Calculation </td>
<td> {{"labels.inputs.Balance Required For Interest Calculation" | translate }} </td>
<td>
<span>{{ recurringDepositsAccountData.minBalanceForInterestCalculation | number }}</span>
</td>
@@ -232,7 +245,7 @@
<table>
<tbody>
<tr>
<td>Principal Amount</td>
<td>{{"labels.inputs.Principal Amount" | translate }}</td>
<td><span
*ngIf="recurringDepositsAccountData.depositAmount">{{ recurringDepositsAccountData.depositAmount | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
<span
@@ -240,19 +253,19 @@
</td>
</tr>
<tr>
<td>Rate of Interest</td>
<td>{{"labels.inputs.Rate of Interest" | translate }}</td>
<td>
<span>{{recurringDepositsAccountData.nominalAnnualInterestRate}}</span>
</td>
</tr>
<tr *ngIf="recurringDepositsAccountData.maturityDate">
<td>Maturity Amount</td>
<td>{{"labels.inputs.Maturity Amount" | translate }}</td>
<td>
<span>{{ recurringDepositsAccountData.maturityAmount | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
</td>
</tr>
<tr>
<td>Total Withdrawls </td>
<td>{{"labels.inputs.Total Withdrawls" | translate }} </td>
<td>
<span
*ngIf="recurringDepositsAccountData.summary.totalWithdrawals">{{ recurringDepositsAccountData.summary.totalWithdrawals | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
@@ -261,19 +274,19 @@
</td>
</tr>
<tr *ngIf="recurringDepositsAccountData.timeline.closedOnDate">
<td> Closed on Date </td>
<td> {{"labels.inputs.Closed on Date" | translate }} </td>
<td>
{{ recurringDepositsAccountData.timeline.closedOnDate | dateFormat }}
</td>
</tr>
<tr>
<td> Deposits Frequency </td>
<td> {{"labels.inputs.Deposits Frequency" | translate }} </td>
<td>
{{ recurringDepositsAccountData.recurringFrequency }}&nbsp;{{ recurringDepositsAccountData.recurringFrequencyType.value }}
</td>
</tr>
<tr *ngIf="recurringDepositsAccountData.summary.totalInterestEarned">
<td> Interests Posted </td>
<td> {{"labels.inputs.Interests Posted" | translate }} </td>
<td>
<span
*ngIf="recurringDepositsAccountData.summary.totalInterestPosted">{{recurringDepositsAccountData.summary.totalInterestPosted | currency:currencyCode:'symbol-narrow':'1.2-2'}}</span>
@@ -289,31 +302,31 @@
<div class="recurring-deposits-account-tables" fxLayout="row" fxLayoutGap="2%">
<div fxFlex="49%"
*ngIf="!recurringDepositsAccountData.status.rejected && !recurringDepositsAccountData.status.submittedAndPendingApproval">
<h4 class="table-headers">Interest Details</h4>
<h4 class="table-headers">{{"labels.heading.Interest Details" | translate }}</h4>
<table>
<tbody>
<tr>
<td >Interest Rate</td>
<td>{{"labels.inputs.Interest Rate" | translate }}</td>
<td><span>{{recurringDepositsAccountData.nominalAnnualInterestRate}}%</span></td>
</tr>
<tr>
<td>Interest Compounding period</td>
<td>{{"labels.inputs.Interest Compounding period" | translate }}</td>
<td><span>{{recurringDepositsAccountData.interestCompoundingPeriodType.value}}</span></td>
</tr>
<tr>
<td>Interest Posting period</td>
<td>{{"labels.inputs.Interest Posting period" | translate }}</td>
<td><span>{{recurringDepositsAccountData.interestPostingPeriodType.value}}</span></td>
</tr>
<tr>
<td>Interest calculated using</td>
<td>{{"labels.inputs.Interest calculated using" | translate }}</td>
<td><span>{{recurringDepositsAccountData.interestCalculationType.value}}</span></td>
</tr>
<tr>
<td># Days in Year</td>
<td># {{"labels.inputs.Days in Year" | translate }}</td>
<td><span>{{recurringDepositsAccountData.interestCalculationDaysInYearType.value}}</span></td>
</tr>
<tr *ngIf="recurringDepositsAccountData.preClosurePenalApplicable">
<td>Pre-closure penal Interest (less)</td>
<td>{{"labels.inputs.Pre-closure penal Interest (less)" | translate }}</td>
<td><span>{{recurringDepositsAccountData.preClosurePenalInterest}} % on
{{recurringDepositsAccountData.preClosurePenalInterestOnType.value}}</span></td>
</tr>
@@ -326,28 +339,28 @@
<table>
<tbody>
<tr>
<td>Interest Compounding Period</td>
<td>{{"labels.inputs.Interest Compounding Period" | translate }}</td>
<td><span>{{recurringDepositsAccountData.interestCompoundingPeriodType.value}}</span></td>
</tr>
<tr>
<td>Interest Posting period</td>
<td>{{"labels.inputs.Interest Posting period" | translate }}</td>
<td><span>{{recurringDepositsAccountData.interestPostingPeriodType.value}}</span></td>
</tr>
<tr>
<td>Interest calculated using</td>
<td>{{"labels.inputs.Interest calculated using" | translate }}</td>
<td><span>{{recurringDepositsAccountData.interestCalculationType.value}}</span></td>
</tr>
<tr>
<td># Days in Year</td>
<td># {{"labels.inputs.Days in Year" | translate }}</td>
<td><span>{{recurringDepositsAccountData.interestCalculationDaysInYearType.value}}</span></td>
</tr>
<tr *ngIf="recurringDepositsAccountData.preClosurePenalApplicable">
<td>Pre-closure penal Interest (less)</td>
<td>{{"labels.inputs.Pre-closure penal Interest (less)" | translate }}</td>
<td><span>{{recurringDepositsAccountData.preClosurePenalInterest}} % on
{{recurringDepositsAccountData.preClosurePenalInterestOnType.value}}</span></td>
</tr>
<tr *ngIf="recurringDepositsAccountData.witdHoldTax">
<td> Witdhold Tax Group </td>
<td> {{"labels.inputs.Witdhold Tax Group" | translate }} </td>
<td><span>{{recurringDepositsAccountData.taxGroup.name}}</span></td>
</tr>
</tbody>
@@ -359,21 +372,21 @@
<nav mat-tab-nav-bar class="navigation-tabs">
<a mat-tab-link [routerLink]="['./interest-rate-chart']" routerLinkActive #IRC="routerLinkActive"
[active]="IRC.isActive">
Interest Rate Chart
{{"labels.inputs.Interest Rate Chart" | translate }}
</a>
<ng-container *ngIf="recurringDepositsAccountData.transactions">
<a mat-tab-link [routerLink]="['./transactions']" routerLinkActive #transactions="routerLinkActive"
[active]="transactions.isActive">
Transactions
{{"labels.inputs.Transactions" | translate }}
</a>
</ng-container>
<a mat-tab-link [routerLink]="['./charges']" routerLinkActive #charges="routerLinkActive" [active]="charges.isActive">
Charges
{{"labels.inputs.Charges" | translate }}
</a>
<ng-container *ngIf="recurringDepositsAccountData.clientId">
<a mat-tab-link [routerLink]="['./standing-instructions-tab']" routerLinkActive #standingInstructions="routerLinkActive"
[active]="standingInstructions.isActive">
Standing Instructions
{{"labels.inputs.Standing Instructions" | translate }}
</a>
</ng-container>
<ng-container *ngFor="let savingsDatatable of savingsDatatables">
@@ -1,7 +1,7 @@
<div class="tab-container mat-typography">
<div class="m-b-10">
<h3>All Standing Instructions</h3>
<h3>{{"labels.heading.All Standing Instructions" | translate }}</h3>
</div>
<div class="mat-elevation-z1 m-b-25">
@@ -9,41 +9,41 @@
<table mat-table #instructionsTable [dataSource]="dataSource">
<ng-container matColumnDef="client">
<th mat-header-cell *matHeaderCellDef> Client </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Client" | translate }} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.fromClient.displayName}}-{{instruction.fromClient.id}}
</td>
</ng-container>
<ng-container matColumnDef="fromAccount">
<th mat-header-cell *matHeaderCellDef> From Account </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.From Account" | translate }} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.fromAccount.accountNo}}
({{instruction.fromAccountType.value}})</td>
</ng-container>
<ng-container matColumnDef="beneficiary">
<th mat-header-cell *matHeaderCellDef> Beneficiary </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Beneficiary" | translate }} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.toClient.displayName}}</td>
</ng-container>
<ng-container matColumnDef="toAccount">
<th mat-header-cell *matHeaderCellDef> To Account </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.To Account" | translate }} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.toAccount.accountNo}}
({{instruction.toAccountType.value}})</td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> Amount </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" | translate }} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.instructionType.value}}/{{instruction.amount}}</td>
</ng-container>
<ng-container matColumnDef="validity">
<th mat-header-cell *matHeaderCellDef> Validity </th>
<td mat-cell *matCellDef="let instruction">{{instruction.validFrom | dateFormat}} to {{instruction.validTill | dateFormat}}
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Validity" | translate }} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.validFrom | dateFormat}} to {{instruction.validTill | dateFormat}}
</td>
</ng-container>
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef> Actions </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Actions" | translate }} </th>
<td mat-cell *matCellDef="let instruction">
<span *ngIf="instruction.status.value!=='Deleted'">
<button class="account-action-button" mat-raised-button color="primary"
@@ -7,26 +7,26 @@
<mat-card-content fxLayout="column">
<mat-form-field (click)="dueDatePicker.open()">
<mat-label>Transaction Date</mat-label>
<mat-label>{{"labels.inputs.Transaction Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="dueDatePicker"
formControlName="transactionDate" required>
<mat-datepicker-toggle matSuffix [for]="dueDatePicker"></mat-datepicker-toggle>
<mat-datepicker #dueDatePicker></mat-datepicker>
<mat-error *ngIf="editTransactionForm.controls.transactionDate.hasError('required')">
Transaction Date is <strong>required</strong>
{{"labels.inputs.Transaction Date" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>Transaction Amount</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<input type="number" formControlName="transactionAmount" required matInput />
<mat-error *ngIf="editTransactionForm.controls.transactionAmount.hasError('required')">
Transaction Amount is <strong>required</strong>
{{"labels.inputs.Transaction Amount" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>Payment Type</mat-label>
<mat-label>{{"labels.inputs.Payment Type" | translate }}</mat-label>
<mat-select formControlName="paymentTypeId">
<mat-option *ngFor="let paymentType of paymentTypeOptions" [value]="paymentType.id">
{{ paymentType.name }}
@@ -35,40 +35,40 @@
</mat-form-field>
<div fxLayoutGap="5px" fxLayout="row" fxLayout.xs="column">
<mat-label fxFlexAlign="center">Show Payment Details</mat-label>
<mat-label fxFlexAlign="center">{{"labels.inputs.Show Payment Details" | translate }}</mat-label>
<button type="button" mat-mini-fab color="primary" (click)="addPaymentDetails()">
<fa-icon [icon]="!addPaymentDetailsFlag ? 'plus-circle' : 'minus-circle'" size="lg"></fa-icon>
</button>
</div>
<mat-form-field *ngIf="editTransactionForm.controls['accountNumber']">
<mat-label>Account Number</mat-label>
<mat-label>{{"labels.inputs.Account Number" | translate }}</mat-label>
<input type="number" formControlName="accountNumber" matInput />
</mat-form-field>
<mat-form-field *ngIf="editTransactionForm.controls['checkNumber']">
<mat-label>Cheque</mat-label>
<mat-label>{{"labels.inputs.Cheque" | translate }}</mat-label>
<input type="number" formControlName="checkNumber" matInput />
</mat-form-field>
<mat-form-field *ngIf="editTransactionForm.controls['routingCode']">
<mat-label>Routing Code</mat-label>
<mat-label>{{"labels.inputs.Routing Code" | translate }}</mat-label>
<input formControlName="routingCode" matInput />
</mat-form-field>
<mat-form-field *ngIf="editTransactionForm.controls['receiptNumber']">
<mat-label>Receipt Number</mat-label>
<mat-label>{{"labels.inputs.Receipt Number" | translate }}</mat-label>
<input formControlName="receiptNumber" matInput />
</mat-form-field>
<mat-form-field *ngIf="editTransactionForm.controls['bankNumber']">
<mat-label>Bank</mat-label>
<mat-label>{{"labels.inputs.Bank" | translate }}</mat-label>
<input formControlName="bankNumber" matInput />
</mat-form-field>
<mat-card-actions fxLayoutGap="5px" fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center">
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
<button mat-raised-button color="primary" [disabled]="!editTransactionForm.valid">Submit</button>
<button type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!editTransactionForm.valid">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -5,34 +5,34 @@
<table mat-table [dataSource]="dataSource">
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef> ID </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.ID" | translate }} </th>
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.reversed}"> {{ transaction.id }} </td>
</ng-container>
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef> Transaction Date </th>
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.reversed}"> {{ transaction.date | dateFormat }} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Transaction Date" | translate }} </th>
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.reversed}"> {{ transaction.date | dateFormat }} </td>
</ng-container>
<ng-container matColumnDef="transactionType">
<th mat-header-cell *matHeaderCellDef> Transaction Type </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Transaction Type" | translate }} </th>
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.reversed}"> {{ transaction.transactionType.value }} </td>
</ng-container>
<ng-container matColumnDef="debit">
<th mat-header-cell *matHeaderCellDef> Debit </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Debit" | translate }} </th>
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.reversed}">
{{ isDebit(transaction.transactionType) ? transaction.amount : 'N/A'}} </td>
</ng-container>
<ng-container matColumnDef="credit">
<th mat-header-cell *matHeaderCellDef> Credit </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Credit" | translate }} </th>
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.reversed}">
{{ !isDebit(transaction.transactionType) ? transaction.amount : 'N/A' }} </td>
</ng-container>
<ng-container matColumnDef="balance">
<th mat-header-cell *matHeaderCellDef> Balance </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Balance" | translate }} </th>
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.reversed}"> {{ transaction.runningBalance }} </td>
</ng-container>
@@ -4,13 +4,13 @@
<button mat-raised-button color="primary"
*ngIf="!(transactionData.transactionType.value == 'Transfer' || transactionData.reversed == 'true')"
[routerLink]="'edit'">
<fa-icon icon="edit" class="m-r-10"></fa-icon>Edit
<fa-icon icon="edit" class="m-r-10"></fa-icon>{{"labels.buttons.Edit" | translate }}
</button>
</span>
<button mat-raised-button color="warn"
*mifosxHasPermission="'UNDOTRANSACTION_SAVINGSACCOUNT'"
(click)="undoTransaction()">
<fa-icon icon="undo" class="m-r-10"></fa-icon>Undo
<fa-icon icon="undo" class="m-r-10"></fa-icon>{{"labels.buttons.Undo" | translate }}
</button>
</div>
@@ -23,7 +23,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="mat-body-strong">
Transaction Id
{{"labels.inputs.Transaction Id" | translate }}
</div>
<div fxFlex="50%">
@@ -31,7 +31,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
Type
{{"labels.inputs.Type" | translate }}
</div>
<div fxFlex="50%">
@@ -39,7 +39,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
Transaction Date
{{"labels.inputs.Transaction Date" | translate }}
</div>
<div fxFlex="50%">
@@ -47,7 +47,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
Currency
{{"labels.inputs.Currency" | translate }}
</div>
<div fxFlex="50%">
@@ -55,7 +55,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
Amount
{{"labels.inputs.Amount" | translate }}
</div>
<div fxFlex="50%">
@@ -63,7 +63,7 @@
</div>
<div fxFlex="50%" *ngIf="transactionData.note" class="mat-body-strong">
Note
{{"labels.inputs.Note" | translate }}
</div>
<div fxFlex="50%" *ngIf="transactionData.note">
@@ -73,7 +73,7 @@
<ng-container *ngIf="transactionData.paymentDetailData">
<div *ngIf="transactionData.paymentDetailData.paymentType" fxFlex="50%" class="mat-body-strong">
Payment Type
{{"labels.inputs.Payment Type" | translate }}
</div>
<div *ngIf="transactionData.paymentDetailData.paymentType" fxFlex="50%">
@@ -81,7 +81,7 @@
</div>
<div *ngIf="transactionData.paymentDetailData.accountNumber" fxFlex="50%" class="mat-body-strong">
Account No.
{{"labels.inputs.Account No" | translate }}.
</div>
<div *ngIf="transactionData.paymentDetailData.accountNumber" fxFlex="50%">
@@ -89,7 +89,7 @@
</div>
<div *ngIf="transactionData.paymentDetailData.checkNumber" fxFlex="50%" class="mat-body-strong">
Cheque Number
{{"labels.inputs.Cheque Number" | translate }}
</div>
<div *ngIf="transactionData.paymentDetailData.checkNumber" fxFlex="50%">
@@ -97,7 +97,7 @@
</div>
<div *ngIf="transactionData.paymentDetailData.routingCode" fxFlex="50%" class="mat-body-strong">
Routing Code
{{"labels.inputs.Routing Code" | translate }}
</div>
<div *ngIf="transactionData.paymentDetailData.routingCode" fxFlex="50%">
@@ -105,7 +105,7 @@
</div>
<div *ngIf="transactionData.paymentDetailData.receiptNumber" fxFlex="50%" class="mat-body-strong">
Receipt No.
{{"labels.inputs.Receipt No" | translate }}.
</div>
<div *ngIf="transactionData.paymentDetailData.receiptNumber" fxFlex="50%">
@@ -113,7 +113,7 @@
</div>
<div *ngIf="transactionData.paymentDetailData.bankNumber" fxFlex="50%" class="mat-body-strong">
Bank No.
{{"labels.inputs.Bank No" | translate }}.
</div>
<div *ngIf="transactionData.paymentDetailData.bankNumber" fxFlex="50%">