Upgrade to Angular 16

Merge `angular-update-16` into `dev` branch
This commit is contained in:
Adam Saghy
2025-05-23 18:47:20 +02:00
parent c7c2f60182
commit 19a14e5b5b
882 changed files with 14895 additions and 14340 deletions
@@ -2,8 +2,8 @@
<mat-card>
<form [formGroup]="reportForm" (ngSubmit)="submit()">
<mat-card-content>
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutGap="4%">
<mat-form-field fxFlex="30%">
<div class="layout-row-wrap responsive-column gap-4percent">
<mat-form-field class="flex-30">
<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 fxFlex="30%">
<mat-form-field class="flex-30">
<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 fxFlex="30%">
<mat-form-field class="flex-30">
<mat-label>{{ 'labels.inputs.Report Sub Type' | translate }}</mat-label>
<mat-select formControlName="reportSubType">
<mat-option
@@ -41,8 +41,8 @@
</mat-form-field>
</div>
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutGap="4%">
<mat-form-field fxFlex="40%">
<div class="layout-row-wrap responsive-column gap-4percent">
<mat-form-field class="flex-40">
<mat-label>{{ 'labels.inputs.Report Category' | translate }}</mat-label>
<mat-select formControlName="reportCategory">
<mat-option *ngFor="let reportCategoryType of reportCategoryTypeOptions" [value]="reportCategoryType">
@@ -51,20 +51,20 @@
</mat-select>
</mat-form-field>
<div fxFlex="10%" class="user-report-wrapper">
<div class="user-report-wrapper flex-10">
<mat-checkbox class="user-report" labelPosition="after" formControlName="useReport">
{{ 'labels.inputs.User Report (UI)' | translate }}
</mat-checkbox>
</div>
</div>
<div fxLayout="column">
<mat-form-field fxFlex="98%">
<div class="layout-column">
<mat-form-field class="flex-98">
<mat-label>{{ 'labels.inputs.Description' | translate }}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-form-field class="flex-98">
<mat-label>{{ 'labels.inputs.SQL' | translate }}</mat-label>
<textarea
matInput
@@ -82,48 +82,58 @@
<br />
<div fxLayout="row wrap" fxLayoutGap="60%" fxLayout.lt-md="column">
<p fxFlex="20%" class="mat-title">{{ 'labels.inputs.Report Parameters' | translate }}</p>
<div class="layout-row-wrap gap-60percent layout-lt-md-column">
<p class="mat-title flex-20">{{ 'labels.inputs.Report Parameters' | translate }}</p>
<button mat-raised-button fxFlex="20%" type="button" color="primary" (click)="addReportParameter()">
<button mat-raised-button class="flex-20" type="button" color="primary" (click)="addReportParameter()">
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{ 'labels.buttons.Add Report Parameter' | translate }}
</button>
</div>
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="parameterName">
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'labels.buttons.Parameters' | translate }}</th>
<td mat-cell *matCellDef="let reportParameter">{{ reportParameter.parameterName }}</td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>
{{ 'labels.buttons.Parameters' | translate }}
</th>
<td mat-cell *matCellDef="let reportParameter">
{{ reportParameter.parameterName }}
</td>
</ng-container>
<ng-container matColumnDef="parameterNamePassed">
<th mat-header-cell *matHeaderCellDef mat-sort-header>
{{ 'labels.inputs.Parameter Name Passed to Pentaho' | translate }}
</th>
<td mat-cell *matCellDef="let reportParameter">{{ reportParameter.reportParameterName }}</td>
<td mat-cell *matCellDef="let reportParameter">
{{ reportParameter.reportParameterName }}
</td>
</ng-container>
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
<td mat-cell *matCellDef="let reportParameter" fxLayoutGap="15%">
<button
type="button"
fxFlex="8%"
color="primary"
mat-icon-button
(click)="editReportParameter(reportParameter)"
>
<fa-icon icon="edit" size="lg"></fa-icon>
</button>
<button
type="button"
fxFlex="8%"
color="warn"
mat-icon-button
(click)="deleteReportParameter(reportParameter)"
>
<fa-icon icon="trash" size="lg"></fa-icon>
</button>
<th mat-header-cell *matHeaderCellDef>
{{ 'labels.inputs.Actions' | translate }}
</th>
<td mat-cell *matCellDef="let reportParameter">
<div class="layout-row gap-15percent">
<button
type="button"
class="flex-8"
color="primary"
mat-icon-button
(click)="editReportParameter(reportParameter)"
>
<fa-icon icon="edit" size="lg"></fa-icon>
</button>
<button
type="button"
class="flex-8"
color="warn"
mat-icon-button
(click)="deleteReportParameter(reportParameter)"
>
<fa-icon icon="trash" size="lg"></fa-icon>
</button>
</div>
</td>
</ng-container>
@@ -134,7 +144,7 @@
<mat-paginator [pageSizeOptions]="[10, 25, 50, 100]" showFirstLastButtons></mat-paginator>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<mat-card-actions class="layout-row align-center gap-5px responsive-column">
<button type="button" mat-raised-button [routerLink]="['../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
@@ -2,8 +2,8 @@
<mat-card>
<form [formGroup]="reportForm" (ngSubmit)="submit()">
<mat-card-content>
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutGap="4%">
<mat-form-field fxFlex="30%">
<div class="layout-row-wrap responsive-column gap-4percent">
<mat-form-field class="flex-30">
<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 fxFlex="30%">
<mat-form-field class="flex-30">
<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 fxFlex="30%">
<mat-form-field class="flex-30">
<mat-label>{{ 'labels.inputs.Report Sub Type' | translate }}</mat-label>
<mat-select formControlName="reportSubType">
<mat-option
@@ -38,8 +38,8 @@
</mat-form-field>
</div>
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutGap="4%">
<mat-form-field fxFlex="40%">
<div class="layout-row-wrap responsive-column gap-4percent">
<mat-form-field class="flex-40">
<mat-label>{{ 'labels.inputs.Report Category' | translate }}</mat-label>
<mat-select formControlName="reportCategory">
<mat-option *ngFor="let reportCategoryType of reportCategoryTypeOptions" [value]="reportCategoryType">
@@ -48,20 +48,20 @@
</mat-select>
</mat-form-field>
<div fxFlex="10%" class="user-report-wrapper">
<div class="user-report-wrapper flex-10">
<mat-checkbox class="user-report" labelPosition="after" formControlName="useReport">
{{ 'labels.inputs.User Report (UI)' | translate }}
</mat-checkbox>
</div>
</div>
<div fxLayout="column">
<mat-form-field fxFlex="98%">
<div class="layout-column">
<mat-form-field class="flex-98">
<mat-label>{{ 'labels.inputs.Description' | translate }}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-form-field class="flex-98">
<mat-label> {{ 'labels.inputs.SQL' | translate }}</mat-label>
<textarea
matInput
@@ -79,12 +79,12 @@
<br />
<div fxLayout="row wrap" fxLayoutGap="60%" fxLayout.lt-md="column">
<p fxFlex="20%" class="mat-title">{{ 'labels.inputs.Report Parameters' | translate }}</p>
<div class="layout-row-wrap gap-60percent layout-lt-md-column">
<p class="mat-title flex-20">{{ 'labels.inputs.Report Parameters' | translate }}</p>
<button
mat-raised-button
fxFlex="20%"
class="flex-20"
type="button"
*ngIf="!reportData.coreReport"
color="primary"
@@ -110,11 +110,11 @@
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
<td mat-cell *matCellDef="let reportParameter" fxLayoutGap="15%">
<td mat-cell *matCellDef="let reportParameter" class="gap-15percent">
<button
*ngIf="!reportData.coreReport"
type="button"
fxFlex="8%"
class="flex-8"
color="primary"
mat-icon-button
(click)="editReportParameter(reportParameter)"
@@ -124,7 +124,7 @@
<button
*ngIf="!reportData.coreReport"
type="button"
fxFlex="8%"
class="flex-8"
color="warn"
mat-icon-button
(click)="deleteReportParameter(reportParameter)"
@@ -141,7 +141,7 @@
<mat-paginator [pageSizeOptions]="[10, 25, 50, 100]" showFirstLastButtons></mat-paginator>
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<mat-card-actions class="layout-row align-center gap-5px responsive-column">
<button type="button" mat-raised-button [routerLink]="['../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
@@ -1,4 +1,4 @@
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<div class="container m-b-20 layout-row align-end gap-20px">
<div #buttonCreateReport class="in-block">
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_REPORT'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
@@ -8,8 +8,8 @@
</div>
<div class="container">
<div #filter fxLayout="row">
<mat-form-field fxFlex>
<div #filter class="layout-row">
<mat-form-field class="flex-fill">
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)" />
</mat-form-field>
@@ -92,7 +92,7 @@
<ng-template #templateButtonCreateReport let-popover="popover">
<h2>{{ 'labels.buttons.Create Report' | translate }}</h2>
<p class="mw300">{{ 'labels.text.Create new report' | translate }}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<div class="layout-row align-end gap-2px responsive-column">
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
@@ -111,7 +111,7 @@
<ng-template #templateFilter let-popover="popover">
<h4>{{ 'labels.heading.Filter reports by name' | translate }}</h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<div class="layout-row align-end gap-2px responsive-column">
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
@@ -139,7 +139,7 @@
'labels.heading.Manage Reports' | translate
}}</a>
</h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<div class="layout-row align-end gap-2px responsive-column">
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
@@ -5,7 +5,7 @@
<mat-dialog-content>
<form [formGroup]="reportParameterForm">
<div fxLayout="column">
<div class="layout-column">
<mat-form-field>
<mat-label>{{ 'labels.inputs.Select allowed parameter' | translate }}</mat-label>
<mat-select required formControlName="parameterName">
@@ -1,6 +1,5 @@
/** Angular Imports */
import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
/** rxjs Imports */
import { Observable } from 'rxjs';
@@ -12,7 +11,7 @@ import { SystemService } from '../system.service';
* Report Template data resolver.
*/
@Injectable()
export class ReportTemplateResolver implements Resolve<Object> {
export class ReportTemplateResolver {
/**
* @param {SystemService} systemService System service.
*/
@@ -1,6 +1,6 @@
/** Angular Imports */
import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot } from '@angular/router';
import { ActivatedRouteSnapshot } from '@angular/router';
/** rxjs Imports */
import { Observable } from 'rxjs';
@@ -12,7 +12,7 @@ import { SystemService } from '../system.service';
* Report data resolver.
*/
@Injectable()
export class ReportResolver implements Resolve<Object> {
export class ReportResolver {
/**
* @param {SystemService} systemService System service.
*/
@@ -1,6 +1,5 @@
/** Angular Imports */
import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
/** rxjs Imports */
import { Observable } from 'rxjs';
@@ -12,7 +11,7 @@ import { SystemService } from '../system.service';
* Reports data resolver.
*/
@Injectable()
export class ReportsResolver implements Resolve<Object> {
export class ReportsResolver {
/**
* @param {SystemService} systemService System service.
*/
@@ -1,4 +1,4 @@
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<div class="container m-b-20 layout-row align-end gap-20px">
<button mat-raised-button color="primary" [routerLink]="['edit']" *mifosxHasPermission="'UPDATE_REPORT'">
<fa-icon icon="edit" class="m-r-10"></fa-icon>
{{ 'labels.buttons.Edit' | translate }}
@@ -17,36 +17,36 @@
<mat-card-title>{{ reportData.reportName }}</mat-card-title>
<mat-card-content>
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="mat-body-strong">{{ 'labels.inputs.Report Type' | translate }}:</div>
<div class="layout-row-wrap">
<div class="flex-50 mat-body-strong">{{ 'labels.inputs.Report Type' | translate }}:</div>
<div fxFlex="50%">
<div class="flex-50">
{{ reportData.reportType | translateKey: 'text' }}
</div>
<div *ngIf="reportData.reportSubType" fxFlex="50%" class="mat-body-strong">
<div *ngIf="reportData.reportSubType" class="mat-body-strong flex-50">
{{ 'labels.inputs.Report Sub Type' | translate }}:
</div>
<div *ngIf="reportData.reportSubType" fxFlex="50%">
<div *ngIf="reportData.reportSubType" class="flex-50">
{{ reportData.reportSubType | translateKey: 'text' }}
</div>
<div fxFlex="50%" class="mat-body-strong">{{ 'labels.inputs.Report Category' | translate }}:</div>
<div class="flex-50 mat-body-strong">{{ 'labels.inputs.Report Category' | translate }}:</div>
<div fxFlex="50%">
<div class="flex-50">
{{ reportData.reportCategory | translateKey: 'catalogs' }}
</div>
<div fxFlex="50%" class="mat-body-strong">{{ 'labels.inputs.Core Report' | translate }}:</div>
<div class="flex-50 mat-body-strong">{{ 'labels.inputs.Core Report' | translate }}:</div>
<div fxFlex="50%">
<div class="flex-50">
{{ reportData.coreReport | yesNo }}
</div>
<div fxFlex="50%" class="mat-body-strong">{{ 'labels.inputs.User Report' | translate }}:</div>
<div class="flex-50 mat-body-strong">{{ 'labels.inputs.User Report' | translate }}:</div>
<div fxFlex="50%">
<div class="flex-50">
{{ reportData.useReport | yesNo }}
</div>
</div>