Files
cbsnexora/src/app/navigation/center-navigation/center-navigation.component.html
T
Felix van Hove 7fd1486c08 Upgrading to Angular 20:
Replaced checked in package-lock.json by regenerated one.
Ran ng update @angular/core@20 @angular/cli@20
Ran npm install @angular-builders/jest@^20.0.0 @fortawesome/angular-fontawesome@^3.0.0 @swimlane/ngx-graph@^11
Ran npm install ngx-mat-select-search@^8.0.2.
Ran ng update @angular/material@20.
Updated all eslint and typescript to the latest versions.
Removed @angular-devkit/schematics.
Updated fontawesome.
Updated rxjs and tslib.
Moved required node version from 16 to 20.
Updated jest-preset-angular.
Set preserveWhitespaces to false.
Corrected two type declarations in two typescript files to make ng serve run without errors.
Removed unused angular-devkit/schematics from view-user.component.ts .
Updated list of supported browsers.
Upgraded prettier.
Ran prettier . --write the first time.
Ran prettier . --write the second time.
Ran ng generate @angular/core:inject with defaults, excepted a handful of files.
Fixed remaining eslint problems.
Added dist directory to ignores in eslint.config.js.
Let prettier fix formatting, almost everything is just line breaks.
Made htmlhint ignore @if and @for Angular constructs.
Updated node version in Github workflow to 22.12.0 (build.yml).
Updated .env.ts.
Updated Angular datetime format strings from YYYY-MM-DD to yyyy-MM-dd.
Merged changes from dev into angular20 branch.
2025-12-08 11:01:01 +01:00

163 lines
5.0 KiB
HTML

<mat-card-header class="layout-row gap-5percent header">
<fa-icon class="main-icon" icon="building" size="3x"></fa-icon>
<mat-card-title-group>
<div class="mat-typography">
<mat-card-title>
<h2>
{{ centerData.name }}
<span [className]="centerData.status.code | statusLookup">
<fa-icon
matTooltip="{{ centerData.status.value }}"
matTooltipPosition="right"
icon="circle"
size="lg"
></fa-icon>
</span>
</h2>
</mat-card-title>
<mat-card-subtitle>
<p>
{{ 'labels.inputs.Account No' | translate }}:
<mifosx-account-number accountNo="{{ centerData.accountNo }}"></mifosx-account-number>
</p>
@if (centerData.externalId) {
<p>
{{ 'labels.inputs.External Id' | translate }}:
<mifosx-external-identifier externalId="{{ centerData.externalId }}"></mifosx-external-identifier>
</p>
}
</mat-card-subtitle>
</div>
</mat-card-title-group>
</mat-card-header>
<mat-card-content>
<mat-tab-group>
<mat-tab label="Details">
<div class="layout-row-wrap">
<div class="flex-50 mat-body-strong">
{{ 'labels.inputs.Activation Date' | translate }}
</div>
<div class="flex-50">
{{ centerData.activationDate | dateFormat }}
</div>
<div class="flex-50 mat-body-strong">
{{ 'labels.inputs.Associated Officer' | translate }}
</div>
<div class="flex-50">
{{ centerData.staffName }}
</div>
@if (centerSummaryData) {
<div class="flex-50 mat-body-strong">
{{ 'labels.inputs.Number of Active Clients' | translate }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50">
{{ centerSummaryData.activeClients }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50 mat-body-strong">
{{ 'labels.inputs.Number of Active Client Loans' | translate }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50">
{{ centerSummaryData.activeClientLoans }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50 mat-body-strong">
{{ 'labels.inputs.Number of Active Client Borrowers' | translate }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50">
{{ centerSummaryData.activeClientBorrowers }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50 mat-body-strong">
{{ 'labels.inputs.Number of Active Overdue Group Loans' | translate }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50">
{{ centerSummaryData.overdueGroupLoans }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50 mat-body-strong">
{{ 'labels.inputs.Number of Active Overdue Client Loans' | translate }}
</div>
}
@if (centerSummaryData) {
<div class="flex-50">
{{ centerSummaryData.overdueClientLoans }}
</div>
}
@if (centerData.collectionMeetingCalendar && centerData.collectionMeetingCalendar.nextTenRecurringDates[0]) {
<div class="mat-body-strong flex-50">
{{ 'labels.inputs.Next Meeting Date' | translate }}
</div>
}
@if (centerData.collectionMeetingCalendar && centerData.collectionMeetingCalendar.nextTenRecurringDates[0]) {
<div class="flex-50">
{{ centerSummaryData.collectionMeetingCalendar.nextTenRecurringDates[0] | dateFormat }}
</div>
}
@if (centerData.collectionMeetingCalendar && centerData.collectionMeetingCalendar.humanReadable) {
<div class="mat-body-strong flex-50">
{{ 'labels.inputs.Meeting Frequency' | translate }}
</div>
}
@if (centerData.collectionMeetingCalendar && centerData.collectionMeetingCalendar.humanReadable) {
<div class="flex-50">
{{ centerSummaryData.collectionMeetingCalendar.humanReadable }}
</div>
}
<div class="flex-50 mat-body-strong">
{{ 'labels.inputs.Number of Groups' | translate }}
</div>
<div class="flex-50">
{{ groupData ? groupData.length : '' }}
</div>
</div>
</mat-tab>
@if (centerAccountsData && centerAccountsData.loanAccounts) {
<mat-tab label="Loan Accounts">
<mifosx-loan-account-table [loanAccountData]="centerAccountsData.loanAccounts"></mifosx-loan-account-table>
</mat-tab>
}
@if (centerAccountsData && centerAccountsData.savingsAccounts) {
<mat-tab label="Savings Accounts">
<mifosx-savings-account-table
[savingsAccountData]="centerAccountsData.savingsAccounts"
></mifosx-savings-account-table>
</mat-tab>
}
</mat-tab-group>
</mat-card-content>