build: Use prettier for html

Stop ignoring html files in prettier and fix existing issues.
This commit is contained in:
Ralph Hopman
2024-12-19 09:36:50 +01:00
committed by Adam Saghy
parent c5fc3925fb
commit 2ec9ba81d6
651 changed files with 28935 additions and 20624 deletions
@@ -1,7 +1,5 @@
<div class="container">
<mat-horizontal-stepper class="mat-elevation-z8" labelPosition="bottom" #shareProductStepper>
<ng-template matStepperIcon="number">
<fa-icon icon="pencil-alt" size="sm"></fa-icon>
</ng-template>
@@ -23,28 +21,25 @@
</ng-template>
<mat-step [stepControl]="sharesAccountDetailsForm">
<ng-template matStepLabel>{{'labels.inputs.DETAILS' | translate}}</ng-template>
<ng-template matStepLabel>{{ 'labels.inputs.DETAILS' | translate }}</ng-template>
<mifosx-shares-account-details-step
[sharesAccountTemplate]="sharesAccountTemplate"
(sharesAccountProductTemplate)="setTemplate($event)"
>
</mifosx-shares-account-details-step>
</mat-step>
<mat-step [stepControl]="sharesAccountTermsForm">
<ng-template matStepLabel>{{ 'labels.inputs.TERMS' | translate }}</ng-template>
<ng-template matStepLabel>{{'labels.inputs.TERMS' | translate}}</ng-template>
<mifosx-shares-account-terms-step [sharesAccountProductTemplate]="sharesAccountProductTemplate"></mifosx-shares-account-terms-step>
<mifosx-shares-account-terms-step
[sharesAccountProductTemplate]="sharesAccountProductTemplate"
></mifosx-shares-account-terms-step>
</mat-step>
<mat-step>
<ng-template matStepLabel>{{'labels.inputs.CHARGES' | translate}}</ng-template>
<ng-template matStepLabel>{{ 'labels.inputs.CHARGES' | translate }}</ng-template>
<mifosx-shares-account-charges-step
[sharesAccountProductTemplate]="sharesAccountProductTemplate"
@@ -52,12 +47,10 @@
[currencyCode]="sharesAccountTermsForm.get('currencyCode')"
>
</mifosx-shares-account-charges-step>
</mat-step>
<mat-step *ngIf="sharesAccountFormValid" completed>
<ng-template matStepLabel>{{'labels.inputs.PREVIEW' | translate}}</ng-template>
<ng-template matStepLabel>{{ 'labels.inputs.PREVIEW' | translate }}</ng-template>
<mifosx-shares-account-preview-step
[sharesAccountProductTemplate]="sharesAccountProductTemplate"
@@ -67,9 +60,6 @@
(submitEvent)="submit()"
>
</mifosx-shares-account-preview-step>
</mat-step>
</mat-horizontal-stepper>
</div>
@@ -1,7 +1,5 @@
<div class="container">
<mat-horizontal-stepper class="mat-elevation-z8" labelPosition="bottom" #shareProductStepper>
<ng-template matStepperIcon="number">
<fa-icon icon="pencil-alt" size="sm"></fa-icon>
</ng-template>
@@ -23,31 +21,27 @@
</ng-template>
<mat-step [stepControl]="sharesAccountDetailsForm">
<ng-template matStepLabel>{{'labels.inputs.DETAILS' | translate}}</ng-template>
<ng-template matStepLabel>{{ 'labels.inputs.DETAILS' | translate }}</ng-template>
<mifosx-shares-account-details-step
[sharesAccountTemplate]="sharesAccountAndTemplate"
(sharesAccountProductTemplate)="setTemplate($event)"
>
</mifosx-shares-account-details-step>
</mat-step>
<mat-step [stepControl]="sharesAccountTermsForm">
<ng-template matStepLabel>{{'labels.inputs.TERMS' | translate}}</ng-template>
<ng-template matStepLabel>{{ 'labels.inputs.TERMS' | translate }}</ng-template>
<mifosx-shares-account-terms-step
[sharesAccountProductTemplate]="sharesAccountProductTemplate"
[sharesAccountTemplate]="sharesAccountAndTemplate">
[sharesAccountTemplate]="sharesAccountAndTemplate"
>
</mifosx-shares-account-terms-step>
</mat-step>
<mat-step>
<ng-template matStepLabel>{{'labels.inputs.CHARGES' | translate}}</ng-template>
<ng-template matStepLabel>{{ 'labels.inputs.CHARGES' | translate }}</ng-template>
<mifosx-shares-account-charges-step
[sharesAccountProductTemplate]="sharesAccountProductTemplate"
@@ -55,12 +49,10 @@
[currencyCode]="sharesAccountTermsForm.get('currencyCode')"
>
</mifosx-shares-account-charges-step>
</mat-step>
<mat-step *ngIf="sharesAccountFormValidAndNotPristine" completed>
<ng-template matStepLabel>{{'labels.inputs.PREVIEW' | translate}}</ng-template>
<ng-template matStepLabel>{{ 'labels.inputs.PREVIEW' | translate }}</ng-template>
<mifosx-shares-account-preview-step
[sharesAccountProductTemplate]="sharesAccountProductTemplate"
@@ -70,9 +62,6 @@
(submitEvent)="submit()"
>
</mifosx-shares-account-preview-step>
</mat-step>
</mat-horizontal-stepper>
</div>
@@ -1,30 +1,34 @@
<div class="container">
<mat-card>
<form [formGroup]="activateSharesAccountForm" (ngSubmit)="submit()">
<mat-card-content>
<mat-form-field fxFlex (click)="activatedDatePicker.open()">
<mat-label>{{'labels.inputs.Activated On Date' | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="activatedDatePicker" required formControlName="activatedDate">
<mat-datepicker-toggle matSuffix [for]="activatedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #activatedDatePicker></mat-datepicker>
<mat-error *ngIf="activateSharesAccountForm.controls.activatedDate.hasError('required')">
{{'labels.inputs.Activated On Date' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex (click)="activatedDatePicker.open()">
<mat-label>{{ 'labels.inputs.Activated On Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="activatedDatePicker"
required
formControlName="activatedDate"
/>
<mat-datepicker-toggle matSuffix [for]="activatedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #activatedDatePicker></mat-datepicker>
<mat-error *ngIf="activateSharesAccountForm.controls.activatedDate.hasError('required')">
{{ 'labels.inputs.Activated On Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!activateSharesAccountForm.valid">{{'labels.buttons.Submit' | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="primary" [disabled]="!activateSharesAccountForm.valid">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>
@@ -1,47 +1,50 @@
<div class="container">
<mat-card>
<form [formGroup]="applySharesForm" (ngSubmit)="submit()">
<mat-card-content>
<div fxLayout="column">
<mat-form-field (click)="requestedDatePicker.open()">
<mat-label>{{'labels.inputs.Request Date' | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="requestedDatePicker" required formControlName="requestedDate">
<mat-label>{{ 'labels.inputs.Request Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="requestedDatePicker"
required
formControlName="requestedDate"
/>
<mat-datepicker-toggle matSuffix [for]="requestedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #requestedDatePicker></mat-datepicker>
<mat-error *ngIf="applySharesForm.controls.requestedDate.hasError('required')">
{{'labels.inputs.Request Date' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Request Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{'labels.inputs.Total No. of Shares' | translate}}</mat-label>
<input matInput required formControlName="requestedShares">
<mat-label>{{ 'labels.inputs.Total No. of Shares' | translate }}</mat-label>
<input matInput required formControlName="requestedShares" />
<mat-error *ngIf="applySharesForm.controls.requestedShares.hasError('required')">
{{'labels.inputs.Requested Shares' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Requested Shares' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{'labels.inputs.Current Price' | translate}}</mat-label>
<input matInput required formControlName="unitPrice">
<mat-label>{{ 'labels.inputs.Current Price' | translate }}</mat-label>
<input matInput required formControlName="unitPrice" />
</mat-form-field>
</div>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!applySharesForm.valid">{{'labels.buttons.Submit' | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="primary" [disabled]="!applySharesForm.valid">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>
@@ -1,39 +1,41 @@
<div class="container">
<mat-card>
<form [formGroup]="approveSharesAccountForm" (ngSubmit)="submit()">
<mat-card-content>
<div fxLayout="column">
<mat-form-field (click)="approvedDatePicker.open()">
<mat-label>{{'labels.inputs.Approved On Date' | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="approvedDatePicker" required formControlName="approvedDate">
<mat-label>{{ 'labels.inputs.Approved On Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="approvedDatePicker"
required
formControlName="approvedDate"
/>
<mat-datepicker-toggle matSuffix [for]="approvedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #approvedDatePicker></mat-datepicker>
<mat-error *ngIf="approveSharesAccountForm.controls.approvedDate.hasError('required')">
{{'labels.inputs.Approved On Date' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Approved On Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{'labels.inputs.Note' | translate}}</mat-label>
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!approveSharesAccountForm.valid">{{'labels.buttons.Submit' | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="primary" [disabled]="!approveSharesAccountForm.valid">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>
@@ -1,8 +1,10 @@
<h1 mat-dialog-title>{{'labels.heading.Approve Share' | translate}}</h1>
<h1 mat-dialog-title>{{ 'labels.heading.Approve Share' | translate }}</h1>
<div mat-dialog-content>
<p>{{'labels.text.Are you sure you want to approve share with id' | translate}}: {{ data.shareId }} ?</p>
<p>{{ 'labels.text.Are you sure you want to approve share with id' | translate }}: {{ data.shareId }} ?</p>
</div>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="primary" [mat-dialog-close]="{ approve: true }">{{'labels.buttons.Submit' | translate}}</button>
<button mat-raised-button mat-dialog-close>{{ 'labels.buttons.Cancel' | translate }}</button>
<button mat-raised-button color="primary" [mat-dialog-close]="{ approve: true }">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-dialog-actions>
@@ -1,48 +1,49 @@
<div class="container">
<div class="mat-elevation-z8">
<table #sharesTable mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Transaction Date' | translate}} </th>
<td mat-cell *matCellDef="let share"> {{ share.purchasedDate | dateFormat }}</td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'labels.inputs.Transaction Date' | translate }}</th>
<td mat-cell *matCellDef="let share">{{ share.purchasedDate | dateFormat }}</td>
</ng-container>
<ng-container matColumnDef="totalShares">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Total Shares' | translate}} </th>
<td mat-cell *matCellDef="let share"> {{ share.numberOfShares }} </td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'labels.inputs.Total Shares' | translate }}</th>
<td mat-cell *matCellDef="let share">{{ share.numberOfShares }}</td>
</ng-container>
<ng-container matColumnDef="redeemedPrice">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Purchased/Redeemed Price' | translate}} </th>
<td mat-cell *matCellDef="let share"> {{ share.purchasedPrice }} </td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>
{{ 'labels.inputs.Purchased/Redeemed Price' | translate }}
</th>
<td mat-cell *matCellDef="let share">{{ share.purchasedPrice }}</td>
</ng-container>
<ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Status' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Status' | translate }}</th>
<td mat-cell *matCellDef="let share">
<i class="fa fa-stop" [ngClass]="share.status.code|statusLookup" [matTooltip]="share.status.value"></i>
<i class="fa fa-stop" [ngClass]="share.status.code | statusLookup" [matTooltip]="share.status.value"></i>
</td>
</ng-container>
<ng-container matColumnDef="approve">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Confirm Approve' | translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'labels.inputs.Confirm Approve' | translate }}</th>
<td mat-cell *matCellDef="let share">
<button class="share-action-button" mat-raised-button color="accent" matTooltip="{{ 'tooltips.Approve Share' | translate}}"
(click)="approve(share.id)">
<button
class="share-action-button"
mat-raised-button
color="accent"
matTooltip="{{ 'tooltips.Approve Share' | translate }}"
(click)="approve(share.id)"
>
<i class="fa fa-check"></i>
</button>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
</table>
<mat-paginator [pageSizeOptions]="[10, 25, 50, 100]" showFirstLastButtons></mat-paginator>
</div>
</div>
@@ -1,39 +1,41 @@
<div class="container">
<mat-card>
<form [formGroup]="closeSharesAccountForm" (ngSubmit)="submit()">
<mat-card-content>
<div fxLayout="column">
<mat-form-field (click)="closedDatePicker.open()">
<mat-label>{{'labels.inputs.Closed On Date' | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required formControlName="closedDate">
<mat-label>{{ 'labels.inputs.Closed On Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="closedDatePicker"
required
formControlName="closedDate"
/>
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #closedDatePicker></mat-datepicker>
<mat-error *ngIf="closeSharesAccountForm.controls.closedDate.hasError('required')">
{{'labels.inputs.Closed On Date' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Closed On Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{'labels.inputs.Note' | translate}}</mat-label>
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="warn" [disabled]="!closeSharesAccountForm.valid">{{'labels.buttons.Submit' | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="warn" [disabled]="!closeSharesAccountForm.valid">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>
@@ -1,45 +1,50 @@
<div class="container">
<mat-card>
<form [formGroup]="redeemSharesForm" (ngSubmit)="submit()">
<mat-card-content>
<div fxLayout="column">
<mat-form-field (click)="requestedDatePicker.open()">
<mat-label>{{'labels.inputs.Request Date' | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="requestedDatePicker" required formControlName="requestedDate">
<mat-label>{{ 'labels.inputs.Request Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="requestedDatePicker"
required
formControlName="requestedDate"
/>
<mat-datepicker-toggle matSuffix [for]="requestedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #requestedDatePicker></mat-datepicker>
<mat-error *ngIf="redeemSharesForm.controls.requestedDate.hasError('required')">
{{'labels.inputs.Request Date' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Request Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{'labels.inputs.Total No. of Shares' | translate}}</mat-label>
<input matInput required formControlName="requestedShares">
<mat-label>{{ 'labels.inputs.Total No. of Shares' | translate }}</mat-label>
<input matInput required formControlName="requestedShares" />
<mat-error *ngIf="redeemSharesForm.controls.requestedShares.hasError('required')">
{{'labels.inputs.Requested Shares' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Requested Shares' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Current Price" | translate}}</mat-label>
<input matInput required formControlName="unitPrice">
<mat-label>{{ 'labels.inputs.Current Price' | translate }}</mat-label>
<input matInput required formControlName="unitPrice" />
</mat-form-field>
</div>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="warn" [disabled]="!redeemSharesForm.valid">{{'labels.buttons.Submit' | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="warn" [disabled]="!redeemSharesForm.valid">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>
@@ -1,39 +1,41 @@
<div class="container">
<mat-card>
<form [formGroup]="rejectSharesAccountForm" (ngSubmit)="submit()">
<mat-card-content>
<div fxLayout="column">
<mat-form-field (click)="rejectedDatePicker.open()">
<mat-label>{{'labels.inputs.Rejected On Date' | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="rejectedDatePicker" required formControlName="rejectedDate">
<mat-label>{{ 'labels.inputs.Rejected On Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="rejectedDatePicker"
required
formControlName="rejectedDate"
/>
<mat-datepicker-toggle matSuffix [for]="rejectedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #rejectedDatePicker></mat-datepicker>
<mat-error *ngIf="rejectSharesAccountForm.controls.rejectedDate.hasError('required')">
{{'labels.inputs.Rejected On Date' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Rejected On Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{'labels.inputs.Note' | translate}}</mat-label>
<mat-label>{{ 'labels.inputs.Note' | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="warn" [disabled]="!rejectSharesAccountForm.valid">{{'labels.buttons.Submit' | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="warn" [disabled]="!rejectSharesAccountForm.valid">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>
@@ -1,8 +1,10 @@
<h1 mat-dialog-title>{{'labels.heading.Reject Share' | translate}}</h1>
<h1 mat-dialog-title>{{ 'labels.heading.Reject Share' | translate }}</h1>
<div mat-dialog-content>
<p>{{'labels.text.Are you sure you want to reject share with id' | translate}}: {{ data.shareId }} ?</p>
<p>{{ 'labels.text.Are you sure you want to reject share with id' | translate }}: {{ data.shareId }} ?</p>
</div>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="warn" [mat-dialog-close]="{ reject: true }">{{'labels.buttons.Submit' | translate}}</button>
<button mat-raised-button mat-dialog-close>{{ 'labels.buttons.Cancel' | translate }}</button>
<button mat-raised-button color="warn" [mat-dialog-close]="{ reject: true }">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-dialog-actions>
@@ -1,48 +1,49 @@
<div class="container">
<div class="mat-elevation-z8">
<table #sharesTable mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Transaction Date' | translate}} </th>
<td mat-cell *matCellDef="let share"> {{ share.purchasedDate | dateFormat }}</td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'labels.inputs.Transaction Date' | translate }}</th>
<td mat-cell *matCellDef="let share">{{ share.purchasedDate | dateFormat }}</td>
</ng-container>
<ng-container matColumnDef="totalShares">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Total Shares' | translate}} </th>
<td mat-cell *matCellDef="let share"> {{ share.numberOfShares }} </td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'labels.inputs.Total Shares' | translate }}</th>
<td mat-cell *matCellDef="let share">{{ share.numberOfShares }}</td>
</ng-container>
<ng-container matColumnDef="redeemedPrice">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Purchased/Redeemed Price' | translate}} </th>
<td mat-cell *matCellDef="let share"> {{ share.purchasedPrice }} </td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>
{{ 'labels.inputs.Purchased/Redeemed Price' | translate }}
</th>
<td mat-cell *matCellDef="let share">{{ share.purchasedPrice }}</td>
</ng-container>
<ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Status' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Status' | translate }}</th>
<td mat-cell *matCellDef="let share">
<i class="fa fa-stop" [ngClass]="share.status.code|statusLookup" [matTooltip]="share.status.value"></i>
<i class="fa fa-stop" [ngClass]="share.status.code | statusLookup" [matTooltip]="share.status.value"></i>
</td>
</ng-container>
<ng-container matColumnDef="reject">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Confirm Reject' | translate}}t </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'labels.inputs.Confirm Reject' | translate }}t</th>
<td mat-cell *matCellDef="let share">
<button class="share-action-button" mat-raised-button color="warn" matTooltip="{{ 'tooltips.Reject Share' | translate}}"
(click)="reject(share.id)">
<button
class="share-action-button"
mat-raised-button
color="warn"
matTooltip="{{ 'tooltips.Reject Share' | translate }}"
(click)="reject(share.id)"
>
<i class="fa fa-times"></i>
</button>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
</table>
<mat-paginator [pageSizeOptions]="[10, 25, 50, 100]" showFirstLastButtons></mat-paginator>
</div>
</div>
@@ -6,4 +6,4 @@
<mifosx-apply-shares *ngIf="actions['Apply Additional Shares']"></mifosx-apply-shares>
<mifosx-redeem-shares *ngIf="actions['Redeem Shares']"></mifosx-redeem-shares>
<mifosx-approve-shares *ngIf="actions['Approve Additional Shares']"></mifosx-approve-shares>
<mifosx-reject-shares *ngIf="actions['Reject Additional Shares']"></mifosx-reject-shares>
<mifosx-reject-shares *ngIf="actions['Reject Additional Shares']"></mifosx-reject-shares>
@@ -1,28 +1,20 @@
<div class="container">
<mat-card>
<form (ngSubmit)="submit()">
<mat-card-content>
<div>
<p class="mat-typography confirm-text">
{{'labels.text.Undo approval of shares account with ID' | translate}}: {{accountId}} ?
{{ 'labels.text.Undo approval of shares account with ID' | translate }}: {{ accountId }} ?
</p>
</div>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">{{'labels.buttons.Cancel' | translate}}</button>
<button mat-raised-button color="warn">{{'labels.buttons.Submit' | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="warn">{{ 'labels.buttons.Submit' | translate }}</button>
</mat-card-actions>
</form>
</mat-card>
</div>
@@ -1,9 +1,11 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Charge' | translate}}</mat-label>
<mat-label>{{ 'labels.inputs.Charge' | translate }}</mat-label>
<mat-select #charge>
<mat-option *ngFor="let charge of chargeData | chargesFilter:chargesDataSource:currencyCode.value" [value]="charge">
<mat-option
*ngFor="let charge of chargeData | chargesFilter: chargesDataSource : currencyCode.value"
[value]="charge"
>
{{ charge.name }}
</mat-option>
</mat-select>
@@ -12,28 +14,33 @@
<div fxFlex="48%" fxFlexAlign="center">
<button type="button" mat-raised-button color="primary" (click)="addCharge(charge)" [disabled]="!charge.value">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{'labels.buttons.Add' | translate}}
{{ 'labels.buttons.Add' | translate }}
</button>
</div>
<table fxFlex="98%" class="mat-elevation-z1" mat-table [dataSource]="chargesDataSource" [hidden]="chargesDataSource.length === 0">
<table
fxFlex="98%"
class="mat-elevation-z1"
mat-table
[dataSource]="chargesDataSource"
[hidden]="chargesDataSource.length === 0"
>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.name' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.name' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.name + ', ' + charge.currency.displaySymbol }}
</td>
</ng-container>
<ng-container matColumnDef="chargeCalculationType">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Type' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Type' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.chargeCalculationType.value | translateKey:'catalogs' }}
{{ charge.chargeCalculationType.value | translateKey: 'catalogs' }}
</td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Amount' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Amount' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.amount || charge.amountOrPercentage }}
<button mat-icon-button color="primary" (click)="editCharge(charge)">
@@ -43,14 +50,14 @@
</ng-container>
<ng-container matColumnDef="chargeTimeType">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Collected On' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Collected On' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.chargeTimeType.value | translateKey:'catalogs' }}
{{ charge.chargeTimeType.value | translateKey: 'catalogs' }}
</td>
</ng-container>
<ng-container matColumnDef="action">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Actions' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
<td mat-cell *matCellDef="let charge">
<button mat-icon-button color="warn" (click)="deleteCharge(charge)">
<fa-icon icon="trash"></fa-icon>
@@ -59,19 +66,17 @@
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
</table>
</div>
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{'labels.buttons.Previous' | translate}}
{{ 'labels.buttons.Previous' | translate }}
</button>
<button mat-raised-button matStepperNext>
{{'labels.buttons.Next' | translate}}
{{ 'labels.buttons.Next' | translate }}
<fa-icon icon="arrow-right" class="m-l-10"></fa-icon>
</button>
</div>
@@ -1,46 +1,50 @@
<form [formGroup]="sharesAccountDetailsForm">
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Product Name' | translate}}</mat-label>
<mat-label>{{ 'labels.inputs.Product Name' | translate }}</mat-label>
<mat-select formControlName="productId" required>
<mat-option *ngFor="let product of productData" [value]="product.id">
{{ product.name }}
</mat-option>
</mat-select>
<mat-error>
{{'labels.inputs.Product Name' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Product Name' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="submittedOnDatePicker.open()">
<mat-label>{{'labels.inputs.Submitted On' | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="submittedOnDatePicker"
formControlName="submittedDate" required>
<mat-label>{{ 'labels.inputs.Submitted On' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="submittedOnDatePicker"
formControlName="submittedDate"
required
/>
<mat-datepicker-toggle matSuffix [for]="submittedOnDatePicker"></mat-datepicker-toggle>
<mat-datepicker #submittedOnDatePicker></mat-datepicker>
<mat-error>
{{'labels.inputs.Submission Date' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Submission Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.External ID' | translate}}</mat-label>
<input matInput formControlName="externalId">
<mat-label>{{ 'labels.inputs.External ID' | translate }}</mat-label>
<input matInput formControlName="externalId" />
</mat-form-field>
</div>
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious disabled>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{'labels.buttons.Previous' | translate}}
{{ 'labels.buttons.Previous' | translate }}
</button>
<button mat-raised-button matStepperNext>
{{'labels.buttons.Next' | translate}}
{{ 'labels.buttons.Next' | translate }}
<fa-icon icon="arrow-right" class="m-l-10"></fa-icon>
</button>
</div>
</form>
@@ -1,132 +1,145 @@
<div fxLayout="row wrap" fxLayout.lt-md="column">
<h3 class="mat-h3" fxFlexFill>{{'labels.heading.Details' | translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{ 'labels.heading.Details' | translate }}</h3>
<mat-divider fxFlexFill></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Product' | translate}}</span>
<span fxFlex="60%">{{ sharesAccount.productId | find:sharesAccountTemplate.productOptions:'id':'name' }}</span>
<span fxFlex="40%">{{ 'labels.inputs.Product' | translate }}</span>
<span fxFlex="60%">{{ sharesAccount.productId | find: sharesAccountTemplate.productOptions : 'id' : 'name' }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Submitted On' | translate}}</span>
<span fxFlex="40%">{{ 'labels.inputs.Submitted On' | translate }}</span>
<span fxFlex="60%">{{ sharesAccount.submittedDate | dateFormat }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.External Id' | translate}}</span>
<span fxFlex="40%">{{ 'labels.inputs.External Id' | translate }}</span>
<span fxFlex="60%" *ngIf="sharesAccount.externalId">
<mifosx-external-identifier externalId="{{sharesAccount.externalId}}"></mifosx-external-identifier>
<mifosx-external-identifier externalId="{{ sharesAccount.externalId }}"></mifosx-external-identifier>
</span>
<span fxFlex="60%" *ngIf="!sharesAccount.externalId">
{{'labels.inputs.Unassigned' | translate}}
{{ 'labels.inputs.Unassigned' | translate }}
</span>
</div>
<h3 class="mat-h3" fxFlexFill>{{'labels.heading.Terms' | translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{ 'labels.heading.Terms' | translate }}</h3>
<mat-divider fxFlexFill></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Currency' | translate}}</span>
<span fxFlex="60%">{{ sharesAccountTermsForm.get('currencyCode').value | find:[sharesAccountProductTemplate.currency]:'code':'displayLabel' }}</span>
<span fxFlex="40%">{{ 'labels.inputs.Currency' | translate }}</span>
<span fxFlex="60%">{{
sharesAccountTermsForm.get('currencyCode').value
| find: [sharesAccountProductTemplate.currency] : 'code' : 'displayLabel'
}}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Total Number of Shares' | translate}}</span>
<span fxFlex="40%">{{ 'labels.inputs.Total Number of Shares' | translate }}</span>
<span fxFlex="60%">{{ sharesAccount.requestedShares | formatNumber }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Current Price' | translate}}</span>
<span fxFlex="40%">{{ 'labels.inputs.Current Price' | translate }}</span>
<span fxFlex="60%">{{ sharesAccountTermsForm.get('unitPrice').value | formatNumber }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Amount' | translate}}</span>
<span fxFlex="60%">{{ (sharesAccount.requestedShares * sharesAccountTermsForm.get('unitPrice').value) | formatNumber }}</span>
<span fxFlex="40%">{{ 'labels.inputs.Amount' | translate }}</span>
<span fxFlex="60%">{{
sharesAccount.requestedShares * sharesAccountTermsForm.get('unitPrice').value | formatNumber
}}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Default Savings Account' | translate}}</span>
<span fxFlex="60%">{{ sharesAccount.savingsAccountId | find:sharesAccountProductTemplate.clientSavingsAccounts:'id':'accountNo' }}</span>
<span fxFlex="40%">{{ 'labels.inputs.Default Savings Account' | translate }}</span>
<span fxFlex="60%">{{
sharesAccount.savingsAccountId | find: sharesAccountProductTemplate.clientSavingsAccounts : 'id' : 'accountNo'
}}</span>
</div>
<div fxFlexFill *ngIf="sharesAccount.minimumActivePeriod">
<span fxFlex="40%">{{'labels.inputs.Minimum Active Period' | translate}}</span>
<span fxFlex="60%">{{sharesAccount.minimumActivePeriod}}&nbsp;{{sharesAccount.minimumActivePeriodFrequencyType | find:sharesAccountProductTemplate.minimumActivePeriodFrequencyTypeOptions:'id':'value' | translateKey:'catalogs'}}</span>
<span fxFlex="40%">{{ 'labels.inputs.Minimum Active Period' | translate }}</span>
<span fxFlex="60%"
>{{ sharesAccount.minimumActivePeriod }}&nbsp;{{
sharesAccount.minimumActivePeriodFrequencyType
| find: sharesAccountProductTemplate.minimumActivePeriodFrequencyTypeOptions : 'id' : 'value'
| translateKey: 'catalogs'
}}</span
>
</div>
<div fxFlexFill *ngIf="sharesAccount.lockinPeriodFrequency">
<span fxFlex="40%">{{'labels.inputs.Lock-in Period' | translate}}</span>
<span fxFlex="60%">{{sharesAccount.lockinPeriodFrequency}}&nbsp;{{sharesAccount.lockinPeriodFrequencyType | find:sharesAccountProductTemplate.lockinPeriodFrequencyTypeOptions:'id':'value' | translateKey:'catalogs'}}</span>
<span fxFlex="40%">{{ 'labels.inputs.Lock-in Period' | translate }}</span>
<span fxFlex="60%"
>{{ sharesAccount.lockinPeriodFrequency }}&nbsp;{{
sharesAccount.lockinPeriodFrequencyType
| find: sharesAccountProductTemplate.lockinPeriodFrequencyTypeOptions : 'id' : 'value'
| translateKey: 'catalogs'
}}</span
>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Application Date' | translate}}</span>
<span fxFlex="40%">{{ 'labels.inputs.Application Date' | translate }}</span>
<span fxFlex="60%">{{ sharesAccount.applicationDate | dateFormat }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{'labels.inputs.Allow dividends for inactive clients' | translate}}</span>
<span fxFlex="40%">{{ 'labels.inputs.Allow dividends for inactive clients' | translate }}</span>
<span fxFlex="60%">{{ sharesAccount.allowDividendCalculationForInactiveClients | yesNo }}</span>
</div>
<div fxFlexFill *ngIf="sharesAccount.charges.length" fxLayout="row wrap" fxLayout.lt-md="column">
<h3 class="mat-h3" fxFlexFill>{{'labels.heading.Charges' | translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{ 'labels.heading.Charges' | translate }}</h3>
<mat-divider fxFlexFill></mat-divider>
<table fxFlexFill class="mat-elevation-z1" mat-table [dataSource]="sharesAccount.charges">
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.name' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.name' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.name + ', ' + charge.currency.displaySymbol }}
</td>
</ng-container>
<ng-container matColumnDef="chargeCalculationType">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Type' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Type' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.chargeCalculationType.value | translateKey:'catalogs' }}
{{ charge.chargeCalculationType.value | translateKey: 'catalogs' }}
</td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Amount' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Amount' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.amount || charge.amountOrPercentage }}
</td>
</ng-container>
<ng-container matColumnDef="chargeTimeType">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Collected On' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Collected On' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.chargeTimeType.value | translateKey:'catalogs' }}
{{ charge.chargeTimeType.value | translateKey: 'catalogs' }}
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="chargesDisplayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: chargesDisplayedColumns;"></tr>
<tr mat-row *matRowDef="let row; columns: chargesDisplayedColumns"></tr>
</table>
</div>
</div>
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{'labels.buttons.Previous' | translate}}
{{ 'labels.buttons.Previous' | translate }}
</button>
<button mat-raised-button [routerLink]="['../']">
{{'labels.buttons.Cancel' | translate}}
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="primary" (click)="submitEvent.emit()">
{{'labels.buttons.Submit' | translate}}
{{ 'labels.buttons.Submit' | translate }}
</button>
</div>
@@ -1,96 +1,109 @@
<form [formGroup]="sharesAccountTermsForm">
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" fxLayoutAlign.gt-sm="start center">
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Currency' | translate}}</mat-label>
<input matInput formControlName="currencyCode">
<mat-label>{{ 'labels.inputs.Currency' | translate }}</mat-label>
<input matInput formControlName="currencyCode" />
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Current Price" | translate}}</mat-label>
<input type="number" matInput formControlName="unitPrice">
<mat-label>{{ 'labels.inputs.Current Price' | translate }}</mat-label>
<input type="number" matInput formControlName="unitPrice" />
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Total Number of Shares' | translate}}</mat-label>
<input type="number" matInput formControlName="requestedShares" required>
<mat-label>{{ 'labels.inputs.Total Number of Shares' | translate }}</mat-label>
<input type="number" matInput formControlName="requestedShares" required />
<mat-error>
{{'labels.inputs.Total Number of Shares' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Total Number of Shares' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<span fxFlex="48%" *ngIf="currency">{{ calculateCurrenValue() | currency:currency.code:'symbol-narrow':'1.2-2' }}</span>
<span fxFlex="48%" *ngIf="currency">{{
calculateCurrenValue() | currency: currency.code : 'symbol-narrow' : '1.2-2'
}}</span>
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Default Savings Account' | translate}}</mat-label>
<mat-label>{{ 'labels.inputs.Default Savings Account' | translate }}</mat-label>
<mat-select formControlName="savingsAccountId" required>
<mat-option *ngFor="let account of savingsAccountsData" [value]="account.id">
{{ account.accountNo }} - {{ account.savingsProductName }}
</mat-option>
</mat-select>
<mat-error>
{{'labels.inputs.Default Savings Account' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Default Savings Account' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="applicationDatePicker.open()">
<mat-label>{{"labels.inputs.Application Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="applicationDatePicker"
formControlName="applicationDate" required>
<mat-label>{{ 'labels.inputs.Application Date' | translate }}</mat-label>
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="applicationDatePicker"
formControlName="applicationDate"
required
/>
<mat-datepicker-toggle matSuffix [for]="applicationDatePicker"></mat-datepicker-toggle>
<mat-datepicker #applicationDatePicker></mat-datepicker>
<mat-error>
{{ "labels.inputs.Application Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{ 'labels.inputs.Application Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-checkbox labelPosition="before" formControlName="allowDividendCalculationForInactiveClients" fxFlex="48%">
{{'labels.inputs.Allow dividends for inactive clients' | translate}}
{{ 'labels.inputs.Allow dividends for inactive clients' | translate }}
</mat-checkbox>
<h4 fxFlex="98%" class="mat-h4">{{'labels.heading.Minimum Active Period' | translate}}</h4>
<h4 fxFlex="98%" class="mat-h4">{{ 'labels.heading.Minimum Active Period' | translate }}</h4>
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Frequency' | translate}}</mat-label>
<input type="number" matInput formControlName="minimumActivePeriod">
<mat-label>{{ 'labels.inputs.Frequency' | translate }}</mat-label>
<input type="number" matInput formControlName="minimumActivePeriod" />
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Type' | translate}}</mat-label>
<mat-label>{{ 'labels.inputs.Type' | translate }}</mat-label>
<mat-select formControlName="minimumActivePeriodFrequencyType">
<mat-option *ngFor="let minimumActivePeriodFrequencyType of minimumActivePeriodFrequencyTypeData" [value]="minimumActivePeriodFrequencyType.id">
{{ minimumActivePeriodFrequencyType.value | translateKey:'catalogs' }}
<mat-option
*ngFor="let minimumActivePeriodFrequencyType of minimumActivePeriodFrequencyTypeData"
[value]="minimumActivePeriodFrequencyType.id"
>
{{ minimumActivePeriodFrequencyType.value | translateKey: 'catalogs' }}
</mat-option>
</mat-select>
</mat-form-field>
<h4 fxFlex="98%" class="mat-h4">{{'labels.heading.Lock-in Period' | translate}}</h4>
<h4 fxFlex="98%" class="mat-h4">{{ 'labels.heading.Lock-in Period' | translate }}</h4>
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Frequency' | translate}}</mat-label>
<input type="number" matInput formControlName="lockinPeriodFrequency">
<mat-label>{{ 'labels.inputs.Frequency' | translate }}</mat-label>
<input type="number" matInput formControlName="lockinPeriodFrequency" />
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{'labels.inputs.Type' | translate}}</mat-label>
<mat-label>{{ 'labels.inputs.Type' | translate }}</mat-label>
<mat-select formControlName="lockinPeriodFrequencyType">
<mat-option *ngFor="let lockinPeriodFrequencyType of lockinPeriodFrequencyTypeData" [value]="lockinPeriodFrequencyType.id">
{{ lockinPeriodFrequencyType.value | translateKey:'catalogs' }}
<mat-option
*ngFor="let lockinPeriodFrequencyType of lockinPeriodFrequencyTypeData"
[value]="lockinPeriodFrequencyType.id"
>
{{ lockinPeriodFrequencyType.value | translateKey: 'catalogs' }}
</mat-option>
</mat-select>
</mat-form-field>
</div>
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious disabled>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{'labels.buttons.Previous' | translate}}
{{ 'labels.buttons.Previous' | translate }}
</button>
<button mat-raised-button matStepperNext>
{{'labels.buttons.Next' | translate}}
{{ 'labels.buttons.Next' | translate }}
<fa-icon icon="arrow-right" class="m-l-10"></fa-icon>
</button>
</div>
</form>
@@ -1,73 +1,102 @@
<div class="tab-container mat-typography">
<div class="m-b-10">
<h3>{{'labels.heading.All Charges' | translate}}</h3>
<h3>{{ 'labels.heading.All Charges' | translate }}</h3>
</div>
<div class="mat-elevation-z1 m-b-25">
<table mat-table [dataSource]="dataSource">
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.name' | translate}} </th>
<td mat-cell *matCellDef="let charge"> {{ charge.name }} </td>
<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> {{'labels.inputs.Fee/Penalty' | translate}} </th>
<td mat-cell *matCellDef="let charge"> {{ charge.penalty === true ? 'Penalty' : 'Fee' }} </td>
<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> {{'labels.inputs.Payment Due At' | translate}} </th>
<td mat-cell *matCellDef="let charge"> {{ charge.chargeTimeType.value | translateKey:'catalogs' }} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Payment Due At' | translate }}</th>
<td mat-cell *matCellDef="let charge">{{ charge.chargeTimeType.value | translateKey: 'catalogs' }}</td>
</ng-container>
<ng-container matColumnDef="calculationType">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Calculation Type' | translate}} </th>
<td mat-cell *matCellDef="let charge"> {{charge.chargeCalculationType.value | translateKey:'catalogs'}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Calculation Type' | translate }}</th>
<td mat-cell *matCellDef="let charge">{{ charge.chargeCalculationType.value | translateKey: 'catalogs' }}</td>
</ng-container>
<ng-container matColumnDef="due">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Due' | translate}} </th>
<td mat-cell *matCellDef="let charge"> {{charge.amount | currency:charge.currency.code:'symbol-narrow':'1.2-2'}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Due' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.amount | currency: charge.currency.code : 'symbol-narrow' : '1.2-2' }}
</td>
</ng-container>
<ng-container matColumnDef="paid">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Paid' | translate}} </th>
<td mat-cell *matCellDef="let charge"> {{charge.amountPaid | currency:charge.currency.code:'symbol-narrow':'1.2-2'}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Paid' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.amountPaid | currency: charge.currency.code : 'symbol-narrow' : '1.2-2' }}
</td>
</ng-container>
<ng-container matColumnDef="waived">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Waived' | translate}} </th>
<td mat-cell *matCellDef="let charge"> {{charge.amountWaived | currency:charge.currency.code:'symbol-narrow':'1.2-2'}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Waived' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.amountWaived | currency: charge.currency.code : 'symbol-narrow' : '1.2-2' }}
</td>
</ng-container>
<ng-container matColumnDef="outstanding">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Outstanding' | translate}} </th>
<td mat-cell *matCellDef="let charge"> {{charge.amountOutstanding | currency:charge.currency.code:'symbol-narrow':'1.2-2'}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Outstanding' | translate }}</th>
<td mat-cell *matCellDef="let charge">
{{ charge.amountOutstanding | currency: charge.currency.code : 'symbol-narrow' : '1.2-2' }}
</td>
</ng-container>
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Actions' | translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
<td mat-cell *matCellDef="let charge">
<span *ngIf="sharesAccountData.status.value === 'Submitted and pending approval'">
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Edit Charge' | translate}}"
*mifosxHasPermission="'UPDATE_SHARESACCOUNTCHARGE'" (click)="routeEdit($event); editCharge(charge)">
<button
class="account-action-button"
mat-raised-button
color="primary"
matTooltip="{{ 'tooltips.Edit Charge' | translate }}"
*mifosxHasPermission="'UPDATE_SHARESACCOUNTCHARGE'"
(click)="routeEdit($event); editCharge(charge)"
>
<i class="fa fa-pencil"></i>
</button>
<button class="account-action-button" mat-raised-button color="warn" matTooltip="{{ 'tooltips.Delete Charge' | translate}}"
*mifosxHasPermission="'DELETE_SHARESACCOUNTCHARGE'" (click)="routeEdit($event); deleteCharge(charge.id)">
<button
class="account-action-button"
mat-raised-button
color="warn"
matTooltip="{{ 'tooltips.Delete Charge' | translate }}"
*mifosxHasPermission="'DELETE_SHARESACCOUNTCHARGE'"
(click)="routeEdit($event); deleteCharge(charge.id)"
>
<i class="fa fa-trash"></i>
</button>
</span>
<span *ngIf="sharesAccountData.status.value === 'Active'">
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Pay Charge' | translate}}"
*mifosxHasPermission="'PAY_SHARESACCOUNTCHARGE'" (click)="routeEdit($event); payCharge(charge.id)">
<button
class="account-action-button"
mat-raised-button
color="primary"
matTooltip="{{ 'tooltips.Pay Charge' | translate }}"
*mifosxHasPermission="'PAY_SHARESACCOUNTCHARGE'"
(click)="routeEdit($event); payCharge(charge.id)"
>
<i class="fa fa-dollar"></i>
</button>
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Waive Charge' | translate}}"
*mifosxHasPermission="'WAIVE_SHARESACCOUNTCHARGE'" (click)="routeEdit($event); waiveCharge(charge.id)">
<button
class="account-action-button"
mat-raised-button
color="primary"
matTooltip="{{ 'tooltips.Waive Charge' | translate }}"
*mifosxHasPermission="'WAIVE_SHARESACCOUNTCHARGE'"
(click)="routeEdit($event); waiveCharge(charge.id)"
>
<i class="fa fa-flag"></i>
</button>
</span>
@@ -75,10 +104,7 @@
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
</table>
</div>
</div>
@@ -1,38 +1,34 @@
<div class="tab-container mat-typography">
<div class="m-b-10">
<h3>{{'labels.inputs.Dividends' | translate}}</h3>
<h3>{{ 'labels.inputs.Dividends' | translate }}</h3>
</div>
<div class="mat-elevation-z1 m-b-25">
<table mat-table [dataSource]="dataSource" >
<table mat-table [dataSource]="dataSource">
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Transaction Date' | translate}} </th>
<td mat-cell *matCellDef="let dividend"> {{dividend.postedDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Transaction Date' | translate }}</th>
<td mat-cell *matCellDef="let dividend">{{ dividend.postedDate | dateFormat }}</td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Amount' | translate}} </th>
<td mat-cell *matCellDef="let dividend"> {{dividend.amount | currency:shareAccountData.currency.code:'symbol-narrow':'1.2-2'}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Amount' | translate }}</th>
<td mat-cell *matCellDef="let dividend">
{{ dividend.amount | currency: shareAccountData.currency.code : 'symbol-narrow' : '1.2-2' }}
</td>
</ng-container>
<ng-container matColumnDef="transactionReference">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Transaction Reference' | translate}} </th>
<td mat-cell *matCellDef="let dividend"> {{dividend.savingsTransactionId}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Transaction Reference' | translate }}</th>
<td mat-cell *matCellDef="let dividend">{{ dividend.savingsTransactionId }}</td>
</ng-container>
<ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Status' | translate}} </th>
<td mat-cell *matCellDef="let dividend"> {{ 'labels.status.' + dividend.status.value | translate}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Status' | translate }}</th>
<td mat-cell *matCellDef="let dividend">{{ 'labels.status.' + dividend.status.value | translate }}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
</table>
</div>
</div>
@@ -1,65 +1,63 @@
<div class="tab-container mat-typography">
<div class="shares-account-tables" fxLayout="row" fxLayoutGap="2%">
<div fxFlex="49%">
<h4 class="table-headers">{{'labels.heading.Shares Details' | translate}}</h4>
<table>
<tbody>
<tr>
<td>{{'labels.inputs.Activated On' | translate}}</td>
<td *ngIf="sharesAccountData.timeline.activatedDate">
{{sharesAccountData.timeline.activatedDate | dateFormat}}
</td>
<td *ngIf="!sharesAccountData.timeline.activatedDate">
{{ 'labels.text.Not Activated' | translate}}
</td>
</tr>
<tr>
<td>{{'labels.inputs.Currency' | translate}}</td>
<td>{{sharesAccountData.currency.name}} [{{sharesAccountData.currency.code}}]</td>
</tr>
<tr>
<td>{{'labels.inputs.External Id' | translate}}</td>
<td *ngIf="sharesAccountData.externalId">
<mifosx-external-identifier
externalId="{{sharesAccountData.externalId}}"></mifosx-external-identifier>
</td>
<td *ngIf="!sharesAccountData.externalId">
{{'labels.inputs.Unassigned' | translate}}
</td>
</tr>
<tr>
<td>{{'labels.inputs.Linked Savings Account(Dividend Posting)' | translate}}</td>
<td *ngIf="sharesAccountData.savingsAccountNumber">
<mifosx-account-number accountType="2"
clientId="{{sharesAccountData.clientId}}" accountId="{{sharesAccountData.savingsAccountId}}"
accountNo="{{sharesAccountData.savingsAccountNumber}}"></mifosx-account-number>
</td>
<td *ngIf="!sharesAccountData.savingsAccountNumber">
{{'labels.inputs.Unassigned' | translate}}
</td>
</tr>
</tbody>
</table>
</div>
<div fxFlex="49%">
<h4 class="table-headers">{{'labels.heading.Account Summary' | translate}}</h4>
<table>
<tbody>
<tr>
<td>{{'labels.inputs.Pending for Approval Shares' | translate}}</td>
<td class="r-amount">{{sharesAccountData.summary.totalPendingForApprovalShares | formatNumber}}</td>
</tr>
<tr>
<td>{{'labels.inputs.Approved Shares' | translate}}</td>
<td class="r-amount">{{sharesAccountData.summary.totalApprovedShares | formatNumber}}</td>
</tr>
</tbody>
</table>
</div>
<div class="shares-account-tables" fxLayout="row" fxLayoutGap="2%">
<div fxFlex="49%">
<h4 class="table-headers">{{ 'labels.heading.Shares Details' | translate }}</h4>
<table>
<tbody>
<tr>
<td>{{ 'labels.inputs.Activated On' | translate }}</td>
<td *ngIf="sharesAccountData.timeline.activatedDate">
{{ sharesAccountData.timeline.activatedDate | dateFormat }}
</td>
<td *ngIf="!sharesAccountData.timeline.activatedDate">
{{ 'labels.text.Not Activated' | translate }}
</td>
</tr>
<tr>
<td>{{ 'labels.inputs.Currency' | translate }}</td>
<td>{{ sharesAccountData.currency.name }} [{{ sharesAccountData.currency.code }}]</td>
</tr>
<tr>
<td>{{ 'labels.inputs.External Id' | translate }}</td>
<td *ngIf="sharesAccountData.externalId">
<mifosx-external-identifier externalId="{{ sharesAccountData.externalId }}"></mifosx-external-identifier>
</td>
<td *ngIf="!sharesAccountData.externalId">
{{ 'labels.inputs.Unassigned' | translate }}
</td>
</tr>
<tr>
<td>{{ 'labels.inputs.Linked Savings Account(Dividend Posting)' | translate }}</td>
<td *ngIf="sharesAccountData.savingsAccountNumber">
<mifosx-account-number
accountType="2"
clientId="{{ sharesAccountData.clientId }}"
accountId="{{ sharesAccountData.savingsAccountId }}"
accountNo="{{ sharesAccountData.savingsAccountNumber }}"
></mifosx-account-number>
</td>
<td *ngIf="!sharesAccountData.savingsAccountNumber">
{{ 'labels.inputs.Unassigned' | translate }}
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div fxFlex="49%">
<h4 class="table-headers">{{ 'labels.heading.Account Summary' | translate }}</h4>
<table>
<tbody>
<tr>
<td>{{ 'labels.inputs.Pending for Approval Shares' | translate }}</td>
<td class="r-amount">{{ sharesAccountData.summary.totalPendingForApprovalShares | formatNumber }}</td>
</tr>
<tr>
<td>{{ 'labels.inputs.Approved Shares' | translate }}</td>
<td class="r-amount">{{ sharesAccountData.summary.totalApprovedShares | formatNumber }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
@@ -1,48 +1,56 @@
<mat-card class="account-card">
<mat-card-header fxLayout="column" class="header">
<mat-card-title-group class="header-title-group">
<div class="profile-image-container">
<div>
<img mat-card-md-image class="profile-image" matTooltip="{{ 'tooltips.Shares Account' | translate}}"
src="assets/images/shares_account_placeholder.png">
<img
mat-card-md-image
class="profile-image"
matTooltip="{{ 'tooltips.Shares Account' | translate }}"
src="assets/images/shares_account_placeholder.png"
/>
</div>
</div>
<div class="mat-typography account-card-title">
<mat-card-title>
<div fxLayout="row" fxLayout.lt-md="column">
<div fxFlex="60%">
<h3>
<i class="fa fa-stop" [ngClass]="sharesAccountData.status.code | statusLookup"
[matTooltip]="sharesAccountData.status.value"></i>
<span class="m-r-5">{{'labels.inputs.Share Product' | translate}} :</span>
<span class="m-r-5"><mifosx-long-text
textValue="{{sharesAccountData.productName}}"></mifosx-long-text></span>
<mifosx-account-number accountNo="{{sharesAccountData.accountNo}}"
display="left"></mifosx-account-number>
<i
class="fa fa-stop"
[ngClass]="sharesAccountData.status.code | statusLookup"
[matTooltip]="sharesAccountData.status.value"
></i>
<span class="m-r-5">{{ 'labels.inputs.Share Product' | translate }} :</span>
<span class="m-r-5"
><mifosx-long-text textValue="{{ sharesAccountData.productName }}"></mifosx-long-text
></span>
<mifosx-account-number
accountNo="{{ sharesAccountData.accountNo }}"
display="left"
></mifosx-account-number>
</h3>
<span class="shares-overview">
<span class="m-r-10">{{'labels.text.' + entityType | translate}} {{"labels.inputs.name" | translate}}
:</span>{{sharesAccountData.clientName || sharesAccountData.groupName}}
<span class="m-l-10" *ngIf="sharesAccountData.clientAccountNo">
<mifosx-account-number accountNo="{{sharesAccountData.clientAccountNo}}"></mifosx-account-number>
</span>
<span class="m-r-10"
>{{ 'labels.text.' + entityType | translate }} {{ 'labels.inputs.name' | translate }} :</span
>{{ sharesAccountData.clientName || sharesAccountData.groupName }}
<span class="m-l-10" *ngIf="sharesAccountData.clientAccountNo">
<mifosx-account-number accountNo="{{ sharesAccountData.clientAccountNo }}"></mifosx-account-number>
</span>
</span>
<div>
<table class="account-overview">
<tbody>
<tr>
<td>{{"labels.inputs.Current Market Price" | translate}} :</td>
<td>{{sharesAccountData.currentMarketPrice | formatNumber}}</td>
<td>{{ 'labels.inputs.Current Market Price' | translate }} :</td>
<td>{{ sharesAccountData.currentMarketPrice | formatNumber }}</td>
</tr>
<tr *ngIf="sharesAccountData.lockinPeriod">
<td>{{"labels.inputs.Lockin Period" | translate}} :</td>
<td>{{ 'labels.inputs.Lockin Period' | translate }} :</td>
<td>
{{sharesAccountData.lockinPeriod}} {{sharesAccountData.lockPeriodTypeEnum.value | translateKey:'catalogs'}}
{{ sharesAccountData.lockinPeriod }}
{{ sharesAccountData.lockPeriodTypeEnum.value | translateKey: 'catalogs' }}
</td>
</tr>
</tbody>
@@ -53,68 +61,90 @@
<span fxFlex="auto"></span>
<div fxFlex="4%">
<button mat-icon-button [matMenuTriggerFor]="accountMenu" aria-label="Share account actions"
yPosition="below" *ngIf="buttonConfig.singleButtons.length > 0">
<button
mat-icon-button
[matMenuTriggerFor]="accountMenu"
aria-label="Share account actions"
yPosition="below"
*ngIf="buttonConfig.singleButtons.length > 0"
>
<mat-icon matListIcon class="actions-menu">
<fa-icon icon="bars" size="sm"></fa-icon>
</mat-icon>
</button>
</div>
</div>
</mat-card-title>
</div>
</mat-card-title-group>
<mat-menu #accountMenu="matMenu">
<ng-container *ngFor="let item of buttonConfig.singleButtons">
<button mat-menu-item *mifosxHasPermission="item.taskPermissionName" (click)="doAction(item.name)">
<mat-icon matListIcon>
<fa-icon icon="{{item.icon}}" size="sm"></fa-icon>
<fa-icon icon="{{ item.icon }}" size="sm"></fa-icon>
</mat-icon>
<span>{{'labels.menus.' + item.name | translate}}</span>
<span>{{ 'labels.menus.' + item.name | translate }}</span>
</button>
</ng-container>
<ng-container *ngIf="buttonConfig.options.length">
<button mat-menu-item [matMenuTriggerFor]="More">{{'labels.menus.More' | translate}}</button>
<button mat-menu-item [matMenuTriggerFor]="More">{{ 'labels.menus.More' | translate }}</button>
<mat-menu #More="matMenu">
<span *ngFor="let option of buttonConfig.options">
<button mat-menu-item *mifosxHasPermission="option.taskPermissionName"
(click)="doAction(option.name)">{{'labels.menus.' + option.name | translate}}</button>
<button mat-menu-item *mifosxHasPermission="option.taskPermissionName" (click)="doAction(option.name)">
{{ 'labels.menus.' + option.name | translate }}
</button>
</span>
</mat-menu>
</ng-container>
</mat-menu>
</mat-card-header>
<mat-card-content class="content">
<nav mat-tab-nav-bar class="navigation-tabs">
<a mat-tab-link [routerLink]="['./general']" routerLinkActive #general="routerLinkActive"
[active]="general.isActive" *mifosxHasPermission="'READ_SHAREACCOUNTPURCHASE'">
{{'labels.inputs.General' | translate}}
<a
mat-tab-link
[routerLink]="['./general']"
routerLinkActive
#general="routerLinkActive"
[active]="general.isActive"
*mifosxHasPermission="'READ_SHAREACCOUNTPURCHASE'"
>
{{ 'labels.inputs.General' | translate }}
</a>
<a mat-tab-link [routerLink]="['./transactions']" routerLinkActive #transactions="routerLinkActive"
[active]="transactions.isActive" *mifosxHasPermission="'READ_SHAREACCOUNTPURCHASE'">
{{'labels.inputs.Transactions' | translate}}
<a
mat-tab-link
[routerLink]="['./transactions']"
routerLinkActive
#transactions="routerLinkActive"
[active]="transactions.isActive"
*mifosxHasPermission="'READ_SHAREACCOUNTPURCHASE'"
>
{{ 'labels.inputs.Transactions' | translate }}
</a>
<a mat-tab-link [routerLink]="['./charges']" routerLinkActive #charges="routerLinkActive"
[active]="charges.isActive" *mifosxHasPermission="'READ_SHAREACCOUNTCHARGE'">
{{'labels.inputs.Charges' | translate}}
<a
mat-tab-link
[routerLink]="['./charges']"
routerLinkActive
#charges="routerLinkActive"
[active]="charges.isActive"
*mifosxHasPermission="'READ_SHAREACCOUNTCHARGE'"
>
{{ 'labels.inputs.Charges' | translate }}
</a>
<a mat-tab-link [routerLink]="['./dividends']" routerLinkActive #dividends="routerLinkActive"
[active]="dividends.isActive" *mifosxHasPermission="'READ_SHAREACCOUNTDIVIDENDS'">
{{'labels.inputs.Dividends' | translate}}
<a
mat-tab-link
[routerLink]="['./dividends']"
routerLinkActive
#dividends="routerLinkActive"
[active]="dividends.isActive"
*mifosxHasPermission="'READ_SHAREACCOUNTDIVIDENDS'"
>
{{ 'labels.inputs.Dividends' | translate }}
</a>
</nav>
<router-outlet></router-outlet>
</mat-card-content>
</mat-card>
@@ -1,48 +1,53 @@
<div class="tab-container mat-typography">
<div class="m-b-10">
<h3>{{'labels.heading.All Transactions' | translate}}</h3>
<h3>{{ 'labels.heading.All Transactions' | translate }}</h3>
</div>
<div class="mat-elevation-z1 m-b-25">
<table mat-table [dataSource]="dataSource">
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Transaction Date' | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{transaction.purchasedDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Transaction Date' | translate }}</th>
<td mat-cell *matCellDef="let transaction">{{ transaction.purchasedDate | dateFormat }}</td>
</ng-container>
<ng-container matColumnDef="transactionType">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Transaction Type' | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{transaction.type.value}} {{transaction.type.value !== "Charge Payment" ? ('(' + transaction.status.value + ')') : ''}}</td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Transaction Type' | translate }}</th>
<td mat-cell *matCellDef="let transaction">
{{ transaction.type.value }}
{{ transaction.type.value !== 'Charge Payment' ? '(' + transaction.status.value + ')' : '' }}
</td>
</ng-container>
<ng-container matColumnDef="totalShares">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Total Shares' | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{transaction.numberOfShares}} </td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Total Shares' | translate }}</th>
<td mat-cell *matCellDef="let transaction">{{ transaction.numberOfShares }}</td>
</ng-container>
<ng-container matColumnDef="purchasedOrRedeemedPrice">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Purhcased/Redeemed Price' | translate}} </th>
<td mat-cell *matCellDef="let transaction">{{shareAccountData.currency.displaySymbol}}&nbsp;{{transaction.purchasedPrice}}</td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Purhcased/Redeemed Price' | translate }}</th>
<td mat-cell *matCellDef="let transaction">
{{ shareAccountData.currency.displaySymbol }}&nbsp;{{ transaction.purchasedPrice }}
</td>
</ng-container>
<ng-container matColumnDef="chargeAmount">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Charge Amount' | translate}} </th>
<td mat-cell *matCellDef="let transaction">{{shareAccountData.currency.displaySymbol}}&nbsp;{{transaction.type.value === "Charge Payment" ? transaction.amount : transaction.chargeAmount}}</td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Charge Amount' | translate }}</th>
<td mat-cell *matCellDef="let transaction">
{{ shareAccountData.currency.displaySymbol }}&nbsp;{{
transaction.type.value === 'Charge Payment' ? transaction.amount : transaction.chargeAmount
}}
</td>
</ng-container>
<ng-container matColumnDef="amountRecievedOrReturned">
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Amount Recieved/Returned' | translate}} </th>
<td mat-cell *matCellDef="let transaction">{{shareAccountData.currency.displaySymbol}}&nbsp;{{transaction.amount}}</td>
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Amount Recieved/Returned' | translate }}</th>
<td mat-cell *matCellDef="let transaction">
{{ shareAccountData.currency.displaySymbol }}&nbsp;{{ transaction.amount }}
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
</table>
</div>
</div>