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,70 +1,87 @@
<div class="container">
<mat-card>
<form [formGroup]="officeForm" (ngSubmit)="submit()">
<mat-card-content>
<div #createOfficeFormRef fxLayout="column">
<mat-form-field>
<mat-label>{{ 'labels.inputs.Office' | translate }}</mat-label>
<input required matInput formControlName="name">
<input required matInput formControlName="name" />
<mat-error *ngIf="officeForm.controls.name.hasError('required')">
{{ 'labels.inputs.Office' | translate }} {{'labels.commons.is' | translate }} <strong>{{'labels.commons.required' | translate }}</strong>
{{ 'labels.inputs.Office' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{ 'labels.inputs.Parent Office' | translate }}</mat-label>
<mat-select required formControlName="parentId">
<mat-option *ngFor="let office of officeData" [value]="office.id" >
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="officeForm.controls.parentId.hasError('required')">
{{ 'labels.inputs.Parent Office' | translate }} {{'labels.commons.is' | translate }} <strong>{{'labels.commons.required' | translate }}</strong>
{{ 'labels.inputs.Parent Office' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field (click)="openedOnDatePicker.open()">
<mat-label>{{ 'labels.inputs.Opened On' | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" formControlName="openingDate" required [matDatepicker]="openedOnDatePicker">
<input
matInput
[min]="minDate"
[max]="maxDate"
formControlName="openingDate"
required
[matDatepicker]="openedOnDatePicker"
/>
<mat-datepicker-toggle matSuffix [for]="openedOnDatePicker"></mat-datepicker-toggle>
<mat-datepicker #openedOnDatePicker></mat-datepicker>
<mat-error *ngIf="officeForm.controls.openingDate.hasError('required')">
{{ 'labels.inputs.Opening Date' | translate }} {{'labels.commons.is' | translate }} <strong>{{'labels.commons.required' | translate }}</strong>
{{ 'labels.inputs.Opening Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{ 'labels.inputs.External ID' | translate }}</mat-label>
<input matInput formControlName="externalId">
<input matInput formControlName="externalId" />
</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]="!officeForm.valid" *mifosxHasPermission="'CREATE_OFFICE'">{{'labels.buttons.Submit' | translate }}</button>
<button type="button" mat-raised-button [routerLink]="['../']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="primary" [disabled]="!officeForm.valid" *mifosxHasPermission="'CREATE_OFFICE'">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>
<ng-template #templateCreateOfficeForm let-popover="popover">
<h2>{{'labels.heading.Create Office' | translate }}</h2>
<p class="mw400">{{'labels.text.Filling Details' | translate }}: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67141727/Manage+Offices" target="_blank">{{ 'labels.inputs.Manage Offices' | translate }}</a></p>
<h2>{{ 'labels.heading.Create Office' | translate }}</h2>
<p class="mw400">
{{ 'labels.text.Filling Details' | translate }}:
<a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67141727/Manage+Offices" target="_blank">{{
'labels.inputs.Manage Offices' | translate
}}</a>
</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close()">{{'labels.buttons.Create Office' | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{'labels.buttons.Back' | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{'labels.buttons.Next Step' | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close()">
{{ 'labels.buttons.Create Office' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); previousStep()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStep()">
{{ 'labels.buttons.Next Step' | translate }}
</button>
</div>
</ng-template>
@@ -1,18 +1,14 @@
<div class="container">
<mat-card>
<form [formGroup]="officeForm" (ngSubmit)="submit()">
<mat-card-content>
<div fxLayout="column">
<mat-form-field>
<mat-label>{{ 'labels.inputs.Office' | translate }}</mat-label>
<input matInput required formControlName="name">
<input matInput required formControlName="name" />
<mat-error *ngIf="officeForm.controls.name.hasError('required')">
{{ 'labels.inputs.Office' | translate }} {{'labels.commons.is' | translate }} <strong>{{'labels.commons.required' | translate }}</strong>
{{ 'labels.inputs.Office' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
@@ -24,36 +20,44 @@
</mat-option>
</mat-select>
<mat-error *ngIf="officeForm.controls.parentId.hasError('required')">
{{ 'labels.inputs.Parent Office' | translate }} {{'labels.commons.is' | translate }} <strong>{{'labels.commons.required' | translate }}</strong>
{{ 'labels.inputs.Parent Office' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field (click)="openingDatePicker.open()">
<mat-label>{{ 'labels.inputs.Opened On' | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="openingDatePicker" required formControlName="openingDate">
<input
matInput
[min]="minDate"
[max]="maxDate"
[matDatepicker]="openingDatePicker"
required
formControlName="openingDate"
/>
<mat-datepicker-toggle matSuffix [for]="openingDatePicker"></mat-datepicker-toggle>
<mat-datepicker #openingDatePicker></mat-datepicker>
<mat-error *ngIf="officeForm.controls.openingDate.hasError('required')">
{{ 'labels.inputs.Opening Date' | translate }} {{'labels.commons.is' | translate }} <strong>{{'labels.commons.required' | translate }}</strong>
{{ 'labels.inputs.Opening Date' | translate }} {{ 'labels.commons.is' | translate }}
<strong>{{ 'labels.commons.required' | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{ 'labels.inputs.External ID' | translate }}</mat-label>
<input matInput formControlName="externalId">
<input matInput formControlName="externalId" />
</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]="['../general']">{{'labels.buttons.Cancel' | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!officeForm.valid" *mifosxHasPermission="'UPDATE_OFFICE'">{{'labels.buttons.Submit' | translate }}</button>
<button type="button" mat-raised-button [routerLink]="['../general']">
{{ 'labels.buttons.Cancel' | translate }}
</button>
<button mat-raised-button color="primary" [disabled]="!officeForm.valid" *mifosxHasPermission="'UPDATE_OFFICE'">
{{ 'labels.buttons.Submit' | translate }}
</button>
</mat-card-actions>
</form>
</mat-card>
</div>
@@ -1,5 +1,4 @@
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<mat-button-toggle-group [formControl]="viewGroup">
<mat-button-toggle value="listView">
<fa-icon icon="list"></fa-icon>
@@ -12,84 +11,80 @@
<div #buttonCreateOffice class="in-block">
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_OFFICE'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{'labels.buttons.Create Office' | translate }}
{{ 'labels.buttons.Create Office' | translate }}
</button>
</div>
<div #buttonImportOffices class="in-block">
<button mat-raised-button color="primary" *mifosxHasPermission="'CREATE_OFFICE'"
[routerLink]="['/organization', 'bulk-import', 'Offices']">
<button
mat-raised-button
color="primary"
*mifosxHasPermission="'CREATE_OFFICE'"
[routerLink]="['/organization', 'bulk-import', 'Offices']"
>
<fa-icon icon="upload" class="m-r-10"></fa-icon>
{{'labels.buttons.Import Offices' | translate }}
{{ 'labels.buttons.Import Offices' | translate }}
</button>
</div>
</div>
<div class="container" [hidden]="viewGroup.value !== 'listView'">
<div fxLayout="row" fxLayoutGap="20px">
<mat-form-field fxFlex>
<mat-label>{{ 'Filter'| translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
<mat-label>{{ 'Filter' | translate }}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)" />
</mat-form-field>
</div>
<!-- List View -->
<div class="mat-elevation-z8">
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{' Office Name '|translate}}</th>
<td mat-cell *matCellDef="let offices"> {{ offices.name }} </td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ ' Office Name ' | translate }}</th>
<td mat-cell *matCellDef="let offices">{{ offices.name }}</td>
</ng-container>
<ng-container matColumnDef="externalId">
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{' External ID '|translate}}</th>
<td mat-cell *matCellDef="let offices"> {{ offices.externalId }} </td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ ' External ID ' | translate }}</th>
<td mat-cell *matCellDef="let offices">{{ offices.externalId }}</td>
</ng-container>
<ng-container matColumnDef="parentName">
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{' Parent Office '|translate}}</th>
<td mat-cell *matCellDef="let offices"> {{ offices.parentName }} </td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ ' Parent Office ' | translate }}</th>
<td mat-cell *matCellDef="let offices">{{ offices.parentName }}</td>
</ng-container>
<ng-container matColumnDef="openingDate">
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{' Opened On '|translate}}</th>
<td mat-cell *matCellDef="let offices"> {{ offices.openingDate | dateFormat }} </td>
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ ' Opened On ' | translate }}</th>
<td mat-cell *matCellDef="let offices">{{ offices.openingDate | dateFormat }}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;" class="select-row"
[routerLink]="[row.id, 'general']"></tr>
<tr
mat-row
*matRowDef="let row; columns: displayedColumns"
class="select-row"
[routerLink]="[row.id, 'general']"
></tr>
</table>
<mat-paginator [pageSizeOptions]="[10, 25, 50, 100]" showFirstLastButtons></mat-paginator>
</div>
</div>
<!-- Tree View -->
<div class="container" [hidden]="viewGroup.value !== 'treeView'">
<div class="m-b-20" fxLayout="row" fxLayoutAlign="start" fxLayoutGap="20px">
<button mat-raised-button (click)="toggleExpandCollapse()">
{{ (isTreeExpanded ? "labels.buttons.Collapse All" : "labels.buttons.Expand All") | translate }}
{{ (isTreeExpanded ? 'labels.buttons.Collapse All' : 'labels.buttons.Expand All') | translate }}
</button>
</div>
<div fxLayout="row" fxLayoutGap="4%" fxLayout.lt-md="column">
<div fxFlex>
<mat-card>
<mat-card-content>
<mat-tree [dataSource]="nestedTreeDataSource" [treeControl]="nestedTreeControl" class="office-tree">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle>
<li class="mat-tree-node">
<button mat-icon-button disabled></button>
@@ -103,8 +98,10 @@
<li>
<div class="mat-tree-node">
<button mat-icon-button matTreeNodeToggle [attr.aria-label]="'toggle ' + node.name">
<fa-icon class="mat-icon-rtl-mirror"
icon="{{ nestedTreeControl.isExpanded(node) ? 'chevron-down' : 'chevron-right' }}"></fa-icon>
<fa-icon
class="mat-icon-rtl-mirror"
icon="{{ nestedTreeControl.isExpanded(node) ? 'chevron-down' : 'chevron-right' }}"
></fa-icon>
</button>
<span (click)="viewOfficeNode(node)" class="m-r-10">
{{ node.name }}
@@ -115,23 +112,15 @@
</ul>
</li>
</mat-nested-tree-node>
</mat-tree>
</mat-card-content>
</mat-card>
</div>
<div fxFlex="48%" *ngIf="office">
<mat-card>
<mat-card-content>
<div fxLayout="row">
<mat-card-title>
{{ office.name }}
</mat-card-title>
@@ -141,17 +130,13 @@
<fa-icon icon="times"></fa-icon>
</button>
</div>
</div>
<mat-tab-group>
<mat-tab label="General">
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="mat-body-strong" *ngIf="office.parentId">
{{'Parent Office'|translate}}
{{ 'Parent Office' | translate }}
</div>
<div fxFlex="50%" *ngIf="office.parentId">
@@ -159,7 +144,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
{{' Opened On'|translate}}
{{ ' Opened On' | translate }}
</div>
<div fxFlex="50%">
@@ -167,88 +152,129 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="office.externalId">
{{'External Id'|translate}}
{{ 'External Id' | translate }}
</div>
<div fxFlex="50%" *ngIf="office.externalId">
<mifosx-external-identifier externalId="{{office.externalId}}"></mifosx-external-identifier>
<mifosx-external-identifier externalId="{{ office.externalId }}"></mifosx-external-identifier>
</div>
</div>
</mat-tab>
<mat-tab *ngFor="let dataTable of dataTablesData" label="{{ dataTable.registeredTableName }}"></mat-tab>
</mat-tab-group>
</mat-card-content>
</mat-card>
</div>
</div>
</div>
<ng-template #templateButtonTreeView let-popover="popover">
<h2>{{'labels.heading.Tree View' | translate }}</h2>
<h2>{{ 'labels.heading.Tree View' | translate }}</h2>
<p class="mw300">{{ 'labels.text.Launch an alternative view for office hierarchy' | translate }}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn"
(click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep();">{{'labels.buttons.Back' | translate }}</button>
<button mat-raised-button color="primary"
(click)="popover.close();showPopover(templateButtonCreateOffice,buttonCreateOffice,'bottom', true);">{{'labels.buttons.Next' | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); previousStep()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateButtonCreateOffice, buttonCreateOffice, 'bottom', true)"
>
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateButtonCreateOffice let-popover="popover">
<h2>{{'labels.heading.Create Office' | translate }}</h2>
<h2>{{ 'labels.heading.Create Office' | translate }}</h2>
<p class="mw300">{{ 'labels.text.Create new offices' | translate }}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn"
(click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
<button mat-raised-button color="primary"
(click)="popover.close();showPopover(templateButtonTreeView,buttonTreeView,'bottom', true);">{{'labels.buttons.Back' | translate }}</button>
<button mat-raised-button color="primary"
(click)="popover.close();showPopover(templateButtonImportOffices,buttonImportOffices,'bottom', true);">{{'labels.buttons.Next' | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateButtonTreeView, buttonTreeView, 'bottom', true)"
>
{{ 'labels.buttons.Back' | translate }}
</button>
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateButtonImportOffices, buttonImportOffices, 'bottom', true)"
>
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateButtonImportOffices let-popover="popover">
<h2>{{'labels.heading.Import Offices' | translate }}</h2>
<h2>{{ 'labels.heading.Import Offices' | translate }}</h2>
<p class="mw300">{{ 'labels.text.Launch the Bulk import/Offices' | translate }}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn"
(click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
<button mat-raised-button color="primary"
(click)="popover.close();showPopover(templateButtonCreateOffice,buttonCreateOffice,'bottom', true);">{{'labels.buttons.Back' | translate }}</button>
<button mat-raised-button color="primary"
(click)="popover.close();showPopover(templateFilter,filter,'bottom', true);">{{'labels.buttons.Next' | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateButtonCreateOffice, buttonCreateOffice, 'bottom', true)"
>
{{ 'labels.buttons.Back' | translate }}
</button>
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateFilter, filter, 'bottom', true)"
>
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateFilter let-popover="popover">
<h4>{{'labels.heading.Search bar to filter offices.' | translate }}</h4>
<h4>{{ 'labels.heading.Search bar to filter offices.' | translate }}</h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn"
(click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
<button mat-raised-button color="primary"
(click)="popover.close();showPopover(templateButtonImportOffices,buttonImportOffices,'bottom', true);">{{'labels.buttons.Back' | translate }}</button>
<button mat-raised-button color="primary"
(click)="popover.close();showPopover(templateTableOffices,tableOffices,'top', true);">{{'labels.buttons.Next' | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateButtonImportOffices, buttonImportOffices, 'bottom', true)"
>
{{ 'labels.buttons.Back' | translate }}
</button>
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateTableOffices, tableOffices, 'top', true)"
>
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateTableOffices let-popover="popover">
<h4>{{'labels.heading.List of offices in the organization.' | translate }}</h4>
<h4>{{ 'labels.heading.List of offices in the organization.' | translate }}</h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn"
(click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
<button mat-raised-button color="primary"
(click)="popover.close();showPopover(templateFilter,filter,'bottom', true);">{{'labels.buttons.Back' | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{'labels.buttons.Next' | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateFilter, filter, 'bottom', true)"
>
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStep()">
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
@@ -1,15 +1,13 @@
<div class="tab-container mat-typography">
<div fxLayoutAlign="flex-end" class="action-button m-b-20">
<span *mifosxHasPermission="'UPDATE_OFFICE'">
<button mat-raised-button color="primary" [routerLink]="['../edit']">
<fa-icon icon="edit" class="m-r-10"></fa-icon>{{'labels.buttons.Edit' | translate }}
<fa-icon icon="edit" class="m-r-10"></fa-icon>{{ 'labels.buttons.Edit' | translate }}
</button>
</span>
</div>
<div fxLayout="row wrap" fxLayout.lt-md="column">
<div fxFlex="45%" class="mat-body-strong left">
{{ 'labels.inputs.Parent Office' | translate }}
</div>
@@ -35,11 +33,10 @@
{{ 'labels.inputs.External Id' | translate }}
</div>
<div fxFlex="50%" class="right" *ngIf="officeData.externalId">
<mifosx-external-identifier externalId="{{officeData.externalId}}"></mifosx-external-identifier>
<mifosx-external-identifier externalId="{{ officeData.externalId }}"></mifosx-external-identifier>
</div>
<div fxFlex="50%" class="right" *ngIf="!officeData.externalId">
{{ 'labels.inputs.Unassigned' | translate }}
</div>
</div>
</div>
@@ -1,27 +1,31 @@
<div class="container">
<mat-card class="office-card">
<mat-card-content>
<nav mat-tab-nav-bar class="navigation-tabs">
<a mat-tab-link [routerLink]="['./general']" routerLinkActive #general="routerLinkActive"
[active]="general.isActive">
{{ 'labels.inputs.General' | translate }}
<a
mat-tab-link
[routerLink]="['./general']"
routerLinkActive
#general="routerLinkActive"
[active]="general.isActive"
>
{{ 'labels.inputs.General' | translate }}
</a>
<span *ngFor="let officeDatatable of officeDatatables">
<a mat-tab-link *mifosxHasPermission="'READ_' + officeDatatable.registeredTableName"
[routerLink]="['./datatables',officeDatatable.registeredTableName]"
routerLinkActive #datatable="routerLinkActive" [active]="datatable.isActive">
{{officeDatatable.registeredTableName}}
<a
mat-tab-link
*mifosxHasPermission="'READ_' + officeDatatable.registeredTableName"
[routerLink]="['./datatables', officeDatatable.registeredTableName]"
routerLinkActive
#datatable="routerLinkActive"
[active]="datatable.isActive"
>
{{ officeDatatable.registeredTableName }}
</a>
</span>
</nav>
<router-outlet></router-outlet>
</mat-card-content>
</mat-card>
</div>