PeerTube/client/src/app/shared/shared-main/misc/top-menu-dropdown.component...

67 lines
2.6 KiB
HTML
Raw Normal View History

<div class="sub-menu" [ngClass]="{ 'sub-menu-fixed': !isBroadcastMessageDisplayed, 'no-scroll': isModalOpened }">
<ng-container *ngFor="let menuEntry of menuEntries; index as id">
2022-06-16 16:10:12 +02:00
<a
*ngIf="menuEntry.routerLink && isDisplayed(menuEntry)" class="sub-menu-entry"
[routerLink]="menuEntry.routerLink" routerLinkActive="active" #routerLink
(click)="onActiveLinkScrollToTop(routerLink)"
>
{{ menuEntry.label }}
</a>
<div *ngIf="!menuEntry.routerLink && isDisplayed(menuEntry)" ngbDropdown class="parent-entry"
#dropdown="ngbDropdown" autoClose="true" container="body">
2018-12-18 09:31:09 +01:00
<span
2020-07-31 13:39:42 +02:00
*ngIf="isInSmallView"
tabindex=0
[ngClass]="{ active: !!suffixLabels[menuEntry.label] }"
(click)="openModal(id)" (keydown.enter)="openModal(id)"
2022-06-16 16:10:12 +02:00
role="button" class="sub-menu-entry">
<ng-container i18n>{{ menuEntry.label }}</ng-container>
</span>
<span
*ngIf="!isInSmallView"
tabindex=0
[ngClass]="{ active: !!suffixLabels[menuEntry.label] }" ngbDropdownAnchor
(click)="dropdownAnchorClicked(dropdown)" (keydown.enter)="dropdownAnchorClicked(dropdown)"
2022-06-16 16:10:12 +02:00
role="button" class="sub-menu-entry"
2018-12-18 09:31:09 +01:00
>
<ng-container i18n>{{ menuEntry.label }}</ng-container>
</span>
<div ngbDropdownMenu>
<ng-container *ngFor="let menuChild of menuEntry.children">
<a *ngIf="isDisplayed(menuChild)" class="dropdown-item"
[ngClass]="{ icon: hasIcons }"
[routerLink]="menuChild.routerLink"
#routerLink (click)="onActiveLinkScrollToTop(routerLink)">
<my-global-icon *ngIf="menuChild.iconName" [iconName]="menuChild.iconName" aria-hidden="true"></my-global-icon>
2019-03-20 13:53:51 +01:00
{{ menuChild.label }}
</a>
</ng-container>
</div>
</div>
</ng-container>
</div>
<ng-template #modal let-close="close" let-dismiss="dismiss">
<div class="modal-body">
<ng-container *ngFor="let menuEntry of menuEntries; index as id">
<div [ngClass]="{ hidden: id !== currentMenuEntryIndex }">
<ng-container *ngFor="let menuChild of menuEntry.children">
<a *ngIf="isDisplayed(menuChild)"
[ngClass]="{ icon: hasIcons }"
[routerLink]="menuChild.routerLink" routerLinkActive="active"
#routerLink (click)="dismissOtherModals(); onActiveLinkScrollToTop(routerLink)">
<my-global-icon *ngIf="menuChild.iconName" [iconName]="menuChild.iconName" aria-hidden="true"></my-global-icon>
{{ menuChild.label }}
</a>
</ng-container>
</div>
</ng-container>
</div>
</ng-template>