Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | 2x | <!-- account navigation with hierarchy -->
@if (!(deviceType === 'mobile' || deviceType === 'tablet')) {
<ul class="account-navigation list-unstyled">
<ish-account-user-info role="listitem" />
@for (item of navItems; track item.id) {
<ng-container *ishIsAuthorizedTo="item.permission || 'always'">
<ng-container *ishHasNotRole="item.notRole">
@if ((item.feature || 'always' | ishFeature) && (item.serverSetting || 'always' | ishServerSetting)) {
@if (item.children) {
<li
class="account-nav-header"
tabindex="0"
[attr.aria-expanded]="!item.isCollapsed"
[attr.data-testing-id]="item.id + '-nav-link'"
(click)="toggleCollapse(item)"
(keydown.enter)="toggleCollapse(item)"
>
<span>
@if (item.icon) {
<i class="bi" [class]="item.icon"></i>
}
{{ item.localizationKey | translate }}
</span>
</li>
<li [ngbCollapse]="item.isCollapsed">
<ul class="account-navigation list-unstyled">
@for (subItem of item.children; track subItem.id) {
<ng-container *ishIsAuthorizedTo="subItem.permission || 'always'">
<ng-container *ishHasNotRole="subItem.notRole">
@if (
(subItem.feature || 'always' | ishFeature) &&
(subItem.serverSetting || 'always' | ishServerSetting)
) {
<li
[routerLinkActive]="activeClass"
[routerLinkActiveOptions]="{ exact: false }"
(isActiveChange)="activeChanged($event, subItem)"
>
<a
class="link-decoration-hover"
[attr.data-testing-id]="subItem.id + '-nav-link'"
[routerLink]="subItem.routerLink"
>{{ subItem.localizationKey | translate }}</a
>
</li>
}
</ng-container>
</ng-container>
}
</ul>
</li>
} @else {
<li
[routerLinkActive]="activeClass"
[routerLinkActiveOptions]="{ exact: item.routerLink === '/account' ? true : false }"
>
<!-- prettier-ignore-->
<a
class="link-decoration-hover"
[attr.data-testing-id]="item.id + '-nav-link'"
[routerLink]="item.routerLink"
>
@if (item.icon) {<i class="bi" [class]="item.icon"></i>}{{ item.localizationKey | translate }}
</a>
</li>
}
}
</ng-container>
</ng-container>
}
</ul>
} @else {
<select
class="form-control"
[attr.aria-label]="'account.menu.select.label' | translate"
(change)="navigateTo($event.target)"
>
@for (item of navItems; track item.id) {
<ng-container *ishIsAuthorizedTo="item.permission || 'always'">
<ng-container *ishHasNotRole="item.notRole">
@if ((item.feature || 'always' | ishFeature) && (item.serverSetting || 'always' | ishServerSetting)) {
@if (item.children) {
<optgroup [label]="item.localizationKey | translate"></optgroup>
@for (subItem of item.children; track subItem.id) {
<ng-container *ishIsAuthorizedTo="subItem.permission || 'always'">
<ng-container *ishHasNotRole="subItem.notRole">
@if (
(subItem.feature || 'always' | ishFeature) &&
(subItem.serverSetting || 'always' | ishServerSetting)
) {
<option [selected]="isSelected(subItem)" [value]="subItem.routerLink">
{{ subItem.localizationKey | translate }}
</option>
}
</ng-container>
</ng-container>
}
} @else {
<option [selected]="isSelected(item)" [value]="item.routerLink">
{{ item.localizationKey | translate }}
</option>
}
}
</ng-container>
</ng-container>
}
</select>
}
<!-- mobile account navigation select box -->
|