fix: Display issues
This commit is contained in:
Generated
+337
-2050
File diff suppressed because it is too large
Load Diff
@@ -153,7 +153,7 @@
|
||||
<mat-icon>more_vert</mat-icon>
|
||||
</button>
|
||||
<mat-menu #transactionMenu="matMenu">
|
||||
<span *ngIf="!isReAgoeOrReAmortize(transaction.type)">
|
||||
<span *ngIf="showTransaction(transaction)">
|
||||
<button mat-menu-item (click)="showTransactions(transaction)">
|
||||
<mat-icon><fa-icon icon="eye" size="sm"></fa-icon></mat-icon>
|
||||
<span>{{ 'labels.text.View Transaction' | translate }}</span>
|
||||
|
||||
@@ -141,7 +141,10 @@ export class TransactionsTabComponent implements OnInit {
|
||||
|
||||
if (hideAccrual || hideReversed) {
|
||||
transactions = this.transactionsData.filter((t: LoanTransaction) => {
|
||||
return !(hideReversed && t.manuallyReversed) && !(hideAccrual && t.type.accrual);
|
||||
return (
|
||||
!(hideReversed && t.manuallyReversed) &&
|
||||
!(hideAccrual && (t.type.accrual || t.type.capitalizedIncomeAmortization))
|
||||
);
|
||||
});
|
||||
}
|
||||
this.dataSource = new MatTableDataSource(transactions);
|
||||
@@ -160,6 +163,16 @@ export class TransactionsTabComponent implements OnInit {
|
||||
/**
|
||||
* Show Transactions Details
|
||||
* @param transactionsData Transactions Data
|
||||
*/
|
||||
showTransactions(transactionsData: LoanTransaction) {
|
||||
if (this.showTransaction(transactionsData)) {
|
||||
this.router.navigate([transactionsData.id], { relativeTo: this.route });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show Transaction Details
|
||||
* @param transactionsData Transaction Data
|
||||
* DISBURSEMENT:1
|
||||
* REPAYMENT:2
|
||||
* WAIVE_INTEREST:4
|
||||
@@ -182,29 +195,29 @@ export class TransactionsTabComponent implements OnInit {
|
||||
* REAMORTIZE:30
|
||||
* INTEREST REFUND:33
|
||||
* CAPITALIZED INCOME:35
|
||||
* CAPITALIZED INCOME ADJUSTMENT:37
|
||||
* CONTRACT_TERMINATION:90
|
||||
*/
|
||||
showTransactions(transactionsData: LoanTransaction) {
|
||||
if ([
|
||||
1,
|
||||
2,
|
||||
4,
|
||||
9,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
26,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
33,
|
||||
35,
|
||||
90
|
||||
].includes(transactionsData.type.id)) {
|
||||
this.router.navigate([transactionsData.id], { relativeTo: this.route });
|
||||
}
|
||||
showTransaction(transactionsData: LoanTransaction): boolean {
|
||||
return [
|
||||
1,
|
||||
2,
|
||||
4,
|
||||
9,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
26,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
33,
|
||||
35,
|
||||
37,
|
||||
90
|
||||
].includes(transactionsData.type.id);
|
||||
}
|
||||
|
||||
allowUndoTransaction(transaction: LoanTransaction) {
|
||||
@@ -226,7 +239,7 @@ export class TransactionsTabComponent implements OnInit {
|
||||
if (transaction.transactionRelations && transaction.transactionRelations.length > 0) {
|
||||
return 'linked';
|
||||
}
|
||||
if (this.isAccrual(transaction.type)) {
|
||||
if (this.isAccrual(transaction.type) || this.isCapitalizedIncomeAmortization(transaction.type)) {
|
||||
return 'accrual';
|
||||
}
|
||||
if (this.isChargeOff(transaction.type)) {
|
||||
@@ -348,6 +361,13 @@ export class TransactionsTabComponent implements OnInit {
|
||||
return transactionType.capitalizedIncome || transactionType.code === 'loanTransactionType.capitalizedIncome';
|
||||
}
|
||||
|
||||
private isCapitalizedIncomeAmortization(transactionType: LoanTransactionType): boolean {
|
||||
return (
|
||||
transactionType.capitalizedIncomeAmortization ||
|
||||
transactionType.code === 'loanTransactionType.capitalizedIncomeAmortization'
|
||||
);
|
||||
}
|
||||
|
||||
private isReAgoeOrReAmortize(transactionType: LoanTransactionType): boolean {
|
||||
return this.isReAmortize(transactionType) || this.isReAge(transactionType);
|
||||
}
|
||||
|
||||
@@ -34,4 +34,6 @@ export interface LoanTransactionType {
|
||||
reAmortize: boolean;
|
||||
capitalizedIncome: boolean;
|
||||
capitalizedIncomeAdjustment: boolean;
|
||||
capitalizedIncomeAmortization: boolean;
|
||||
capitalizedIncomeAmortizationAdjustment: boolean;
|
||||
}
|
||||
|
||||
@@ -12,6 +12,6 @@ export class YesnoPipe implements PipeTransform {
|
||||
return null;
|
||||
}
|
||||
const result = value ? 'Yes' : 'No';
|
||||
return this.translateService.instant('tooltips.' + result);
|
||||
return this.translateService.instant('labels.buttons.' + result);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -54,7 +54,9 @@ export class LoanProductCapitalizedIncomeStepComponent implements OnChanges {
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges): void {
|
||||
this.enableIncomeCapitalization = this.capitalizedIncome.enableIncomeCapitalization;
|
||||
this.enableIncomeCapitalization = this.capitalizedIncome
|
||||
? this.capitalizedIncome.enableIncomeCapitalization
|
||||
: false;
|
||||
if (this.enableIncomeCapitalization) {
|
||||
this.loanIncomeCapitalizationForm.patchValue({
|
||||
enableIncomeCapitalization: this.enableIncomeCapitalization,
|
||||
|
||||
+1
-1
@@ -259,7 +259,7 @@
|
||||
aria-label="Clear"
|
||||
(click)="clearProperty($event, 'delinquencyBucketId')"
|
||||
>
|
||||
<i class="fa fa-close"></i>
|
||||
<fa-icon icon="close" size="md"></fa-icon>
|
||||
</button>
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="container">
|
||||
<div *ngIf="!hideOutput && !toBeExportedToRepo">
|
||||
<div class="m-b-10 gap-25px align-end" *ngIf="dataObject.report.type === 'Table'">
|
||||
<div class="m-b-10 gap-45px" align="end" *ngIf="dataObject.report.type === 'Table'">
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#language-selector,
|
||||
.languageselector {
|
||||
// max-width: 6rem;
|
||||
::ng-deep .mat-form-field-underline {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
@@ -10,18 +10,18 @@
|
||||
<mat-card>
|
||||
<form [formGroup]="businessDateForm">
|
||||
<mat-card-content>
|
||||
<div class="flex-fill layout-row-wrap gap-2percent layout-lt-md-column space">
|
||||
<div class="flex-100 layout-row layout-lt-md-column space">
|
||||
<div class="flex-50">
|
||||
<span class="date-type flex-40">{{ 'labels.inputs.User date format' | translate }}: </span>
|
||||
<span class="date-value flex-60">{{ userDateFormat }}</span>
|
||||
<span class="date-value flex-60 m-l-30">{{ userDateFormat }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Business Date -->
|
||||
<div class="flex-fill layout-row-wrap gap-2percent layout-lt-md-column">
|
||||
<div class="flex-50" *ngIf="!isEditInProgress">
|
||||
<div class="flex-100 layout-row layout-lt-md-column">
|
||||
<div class="flex-50 table-row" *ngIf="!isEditInProgress">
|
||||
<span class="date-type flex-40">{{ 'labels.inputs.Business Date' | translate }}: </span>
|
||||
<span class="date-value flex-60">{{ businessDate | dateFormat }}</span>
|
||||
<span class="date-value flex-60 m-l-40">{{ businessDate | dateFormat }}</span>
|
||||
</div>
|
||||
|
||||
<mat-form-field (click)="businessDatePicker.open()" *ngIf="isEditInProgress && dateIndex === 0">
|
||||
@@ -71,10 +71,10 @@
|
||||
</div>
|
||||
|
||||
<!-- COB Date -->
|
||||
<div class="flex-fill layout-row-wrap gap-2percent layout-lt-md-column">
|
||||
<div class="flex-50" *ngIf="!isEditInProgress">
|
||||
<div class="flex-100 layout-row layout-lt-md-column">
|
||||
<div class="flex-50 table-row" *ngIf="!isEditInProgress">
|
||||
<span class="date-type">{{ 'labels.inputs.COB Date' | translate }}: </span>
|
||||
<span class="date-value flex-60">{{ cobDate | dateFormat }}</span>
|
||||
<span class="date-value flex-60 m-l-80">{{ cobDate | dateFormat }}</span>
|
||||
</div>
|
||||
|
||||
<mat-form-field (click)="cobDatePicker.open()" *ngIf="isEditInProgress && dateIndex === 1">
|
||||
|
||||
@@ -13,3 +13,7 @@
|
||||
font-size: 1rem;
|
||||
min-width: 50%;
|
||||
}
|
||||
|
||||
.table-row {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions>
|
||||
<div class="layout-row layout-align-center gap-2percent column-on-mobile">
|
||||
<div class="layout-row layout-align-center flex-100 column-on-mobile">
|
||||
<button type="button" color="primary" mat-raised-button [routerLink]="['../']">
|
||||
{{ 'labels.buttons.Back' | translate }}
|
||||
</button>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<mat-card>
|
||||
<form [formGroup]="reportForm" (ngSubmit)="submit()">
|
||||
<mat-card-content>
|
||||
<div class="layout-row-wrap responsive-column gap-4percent">
|
||||
<mat-form-field class="flex-30">
|
||||
<div class="layout-row-wrap responsive-column">
|
||||
<mat-form-field class="flex-100">
|
||||
<mat-label>{{ 'labels.inputs.Report Name' | translate }}</mat-label>
|
||||
<input matInput required formControlName="reportName" />
|
||||
<mat-error *ngIf="reportForm.controls.reportName.hasError('required')">
|
||||
@@ -12,7 +12,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field class="flex-30">
|
||||
<mat-form-field class="flex-50">
|
||||
<mat-label>{{ 'labels.inputs.Report Type' | translate }}</mat-label>
|
||||
<mat-select required formControlName="reportType">
|
||||
<mat-option
|
||||
@@ -28,7 +28,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field class="flex-30">
|
||||
<mat-form-field class="flex-50">
|
||||
<mat-label>{{ 'labels.inputs.Report Sub Type' | translate }}</mat-label>
|
||||
<mat-select formControlName="reportSubType">
|
||||
<mat-option
|
||||
@@ -39,10 +39,8 @@
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<div class="layout-row-wrap responsive-column gap-4percent">
|
||||
<mat-form-field class="flex-40">
|
||||
<mat-form-field class="flex-50">
|
||||
<mat-label>{{ 'labels.inputs.Report Category' | translate }}</mat-label>
|
||||
<mat-select formControlName="reportCategory">
|
||||
<mat-option *ngFor="let reportCategoryType of reportCategoryTypeOptions" [value]="reportCategoryType">
|
||||
@@ -51,15 +49,13 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<div class="user-report-wrapper flex-10">
|
||||
<div class="user-report-wrapper flex-50">
|
||||
<mat-checkbox class="user-report" labelPosition="after" formControlName="useReport">
|
||||
{{ 'labels.inputs.User Report (UI)' | translate }}
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-column">
|
||||
<mat-form-field class="flex-98">
|
||||
<mat-form-field class="flex-100">
|
||||
<mat-label>{{ 'labels.inputs.Description' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -129,7 +129,8 @@ export class CreateReportComponent implements OnInit {
|
||||
this.dataForDialog.parameterName = undefined;
|
||||
this.dataForDialog.reportParameterName = undefined;
|
||||
const addReportParameterDialogRef = this.dialog.open(ReportParameterDialogComponent, {
|
||||
data: this.dataForDialog
|
||||
data: { ...this.dataForDialog, layout: { addButtonText: 'Add' } },
|
||||
width: '25rem'
|
||||
});
|
||||
addReportParameterDialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response !== '') {
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<mat-card>
|
||||
<form [formGroup]="reportForm" (ngSubmit)="submit()">
|
||||
<mat-card-content>
|
||||
<div class="layout-row-wrap responsive-column gap-4percent">
|
||||
<mat-form-field class="flex-30">
|
||||
<div class="layout-row-wrap responsive-column">
|
||||
<mat-form-field class="flex-100">
|
||||
<mat-label>{{ 'labels.inputs.Report Name' | translate }}</mat-label>
|
||||
<input matInput required formControlName="reportName" />
|
||||
<mat-error *ngIf="reportForm.controls.reportName.hasError('required')">
|
||||
@@ -12,7 +12,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field class="flex-30">
|
||||
<mat-form-field class="flex-50">
|
||||
<mat-label>{{ 'labels.inputs.Report Type' | translate }}</mat-label>
|
||||
<mat-select required formControlName="reportType">
|
||||
<mat-option *ngFor="let allowedReportType of reportData.allowedReportTypes" [value]="allowedReportType">
|
||||
@@ -25,7 +25,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field class="flex-30">
|
||||
<mat-form-field class="flex-50">
|
||||
<mat-label>{{ 'labels.inputs.Report Sub Type' | translate }}</mat-label>
|
||||
<mat-select formControlName="reportSubType">
|
||||
<mat-option
|
||||
@@ -36,10 +36,8 @@
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<div class="layout-row-wrap responsive-column gap-4percent">
|
||||
<mat-form-field class="flex-40">
|
||||
<mat-form-field class="flex-50">
|
||||
<mat-label>{{ 'labels.inputs.Report Category' | translate }}</mat-label>
|
||||
<mat-select formControlName="reportCategory">
|
||||
<mat-option *ngFor="let reportCategoryType of reportCategoryTypeOptions" [value]="reportCategoryType">
|
||||
@@ -48,15 +46,13 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<div class="user-report-wrapper flex-10">
|
||||
<div class="flex-50">
|
||||
<mat-checkbox class="user-report" labelPosition="after" formControlName="useReport">
|
||||
{{ 'labels.inputs.User Report (UI)' | translate }}
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-column">
|
||||
<mat-form-field class="flex-98">
|
||||
<mat-form-field class="flex-100">
|
||||
<mat-label>{{ 'labels.inputs.Description' | translate }}</mat-label>
|
||||
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -14,7 +14,11 @@
|
||||
|
||||
<div class="container">
|
||||
<mat-card>
|
||||
<mat-card-title>{{ reportData.reportName }}</mat-card-title>
|
||||
<mat-card-title class="layout-row-wrap flex-100">
|
||||
<div class="flex-100 report-name">
|
||||
{{ 'labels.catalogs.Report' | translate }} : <b>{{ reportData.reportName }}</b>
|
||||
</div>
|
||||
</mat-card-title>
|
||||
|
||||
<mat-card-content>
|
||||
<div class="layout-row-wrap">
|
||||
|
||||
@@ -8,3 +8,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.report-name {
|
||||
margin: 18px;
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
/* tslint:disable */
|
||||
export default {
|
||||
'mifos_x': {
|
||||
'version': '250602',
|
||||
'hash': 'gc4f18fd7'
|
||||
'version': '250605',
|
||||
'hash': '1d6b6fd7'
|
||||
},
|
||||
'allow_switching_backend_instance': true
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user