feat: Button basierend auf ButtonVisibilityService bedingt anzeigen

- `anyVisible` Methode in `ButtonVisibilityService` hinzugefügt, um zu prüfen, ob irgendein Button sichtbar ist.
- Nav-Menü-Komponente aktualisiert, um die Sichtbarkeit des Buttons mit `ButtonVisibilityService` bedingt festzulegen.
This commit is contained in:
Developer 02 2024-08-14 09:02:44 +02:00
parent d3c7ab3da3
commit f031b131eb
3 changed files with 10 additions and 2 deletions

View File

@ -45,7 +45,7 @@
<button *ngIf="isLogedIn()" class="btn" (click)="refreshService.executeAll()" [ngStyle]="{ 'visibility': refreshService.isVisible ? 'visible' : 'hidden' }" matTooltip="strg + R" matTooltipPosition="below" [matTooltipClass]="tooltipClass" [matTooltipDisabled]="!refreshService.isVisible">
<mat-icon class="turn-360">sync</mat-icon>
</button>
<button *ngIf="isLogedIn()" class="btn" (click)="showInfo()">
<button *ngIf="isLogedIn()" [ngStyle]="{ 'visibility': buttonVisibilityService.anyVisible ? 'visible' : 'hidden' }" class="btn" (click)="showInfo()">
<mat-icon class="scale-pulse">contact_support</mat-icon>
</button>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse"

View File

@ -8,6 +8,7 @@ import { ColorModeBttnComponent } from '../common/color-mode-bttn/color-mode-btt
import { MatIconModule } from '@angular/material/icon';
import { RefreshService } from '../../services/button/refresh.service';
import { CreationService } from '../../services/button/creation.service';
import { ButtonVisibilityService } from '../../services/button/button-visibility.service';
import { UpdateService, UpdateEvent } from '../../services/button/update.service';
import { TransferService } from '../../services/button/transfer.service';
import { MatBadgeModule } from '@angular/material/badge';
@ -34,7 +35,7 @@ export class NavMenuComponent {
isChecked = true;
constructor(private dialog: MatDialog, private authService: AuthenticationService, public refreshService: RefreshService, public creationService: CreationService, public updateService: UpdateService, public transferService: TransferService) {
constructor(private dialog: MatDialog, private authService: AuthenticationService, public refreshService: RefreshService, public creationService: CreationService, public updateService: UpdateService, public transferService: TransferService, public buttonVisibilityService: ButtonVisibilityService) {
this.authService.isAuthenticated().then().catch()
this.updateActCount = this.updateService.totalCount;
this.updateService.addChangeListener(UpdateEvent.CountChange, () => {

View File

@ -34,4 +34,11 @@ export class ButtonVisibilityService {
}
}
}
get anyVisible(): boolean {
for (const key in this._buttons)
if (this._buttons[key].isVisible)
return true;
return false;
}
}