Expose management analysis tabs in navigation

This commit is contained in:
2026-05-29 13:42:00 +02:00
parent 61de1bebe9
commit 674c103478
2 changed files with 46 additions and 3 deletions
@@ -12,7 +12,22 @@
</MudNavLink> </MudNavLink>
<MudNavGroup Title="@T("Management Analyse", "Management analysis")" Icon="@Icons.Material.Filled.QueryStats"> <MudNavGroup Title="@T("Management Analyse", "Management analysis")" Icon="@Icons.Material.Filled.QueryStats">
<MudNavLink Href="management-cockpit" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Dashboard"> <MudNavLink Href="management-cockpit" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Dashboard">
@T("Uebersicht", "Overview") @T("Finance Summary", "Finance summary")
</MudNavLink>
<MudNavLink Href="management-cockpit?section=countries" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Public">
@T("Laender", "Countries")
</MudNavLink>
<MudNavLink Href="management-cockpit?section=status" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.FactCheck">
@T("Datenstatus", "Data status")
</MudNavLink>
<MudNavLink Href="management-cockpit?section=deviations" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.WarningAmber">
@T("Abweichungen", "Deviations")
</MudNavLink>
<MudNavLink Href="management-cockpit?section=credits" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.AssignmentReturn">
@T("Gutschriften", "Credit notes")
</MudNavLink>
<MudNavLink Href="management-cockpit?section=quality" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Rule">
@T("Datenqualitaet", "Data quality")
</MudNavLink> </MudNavLink>
<MudNavLink Href="management-cockpit?section=division&division=finance" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.PieChart"> <MudNavLink Href="management-cockpit?section=division&division=finance" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.PieChart">
@T("Sparten-Finanzanalyse", "Division finance") @T("Sparten-Finanzanalyse", "Division finance")
@@ -20,6 +35,9 @@
<MudNavLink Href="management-cockpit?section=division&division=central" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.AccountTree"> <MudNavLink Href="management-cockpit?section=division&division=central" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.AccountTree">
@T("Zentrale Spartenzuordnung", "Central division mapping") @T("Zentrale Spartenzuordnung", "Central division mapping")
</MudNavLink> </MudNavLink>
<MudNavLink Href="management-cockpit?section=raw" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.QueryStats">
@T("Rohdaten Diagnose", "Raw-data diagnostics")
</MudNavLink>
</MudNavGroup> </MudNavGroup>
@if (ShowFinanceComparison) @if (ShowFinanceComparison)
{ {
@@ -924,14 +924,27 @@
{ {
if (string.Equals(Section, "division", StringComparison.OrdinalIgnoreCase)) if (string.Equals(Section, "division", StringComparison.OrdinalIgnoreCase))
{ {
_activeFinanceTabIndex = 6; _activeFinanceTabIndex = ManagementFinanceTabIndexes.Division;
_activeDivisionTabIndex = string.Equals(Division, "central", StringComparison.OrdinalIgnoreCase) ? 1 : 0; _activeDivisionTabIndex = string.Equals(Division, "central", StringComparison.OrdinalIgnoreCase) ? 1 : 0;
} }
else if (string.IsNullOrWhiteSpace(Section)) else if (string.IsNullOrWhiteSpace(Section))
{ {
_activeFinanceTabIndex = 0; _activeFinanceTabIndex = ManagementFinanceTabIndexes.Summary;
_activeDivisionTabIndex = 0; _activeDivisionTabIndex = 0;
} }
else
{
_activeFinanceTabIndex = Section.ToLowerInvariant() switch
{
"countries" => ManagementFinanceTabIndexes.Countries,
"status" => ManagementFinanceTabIndexes.Status,
"deviations" => ManagementFinanceTabIndexes.Deviations,
"credits" => ManagementFinanceTabIndexes.Credits,
"quality" => ManagementFinanceTabIndexes.Quality,
"raw" => ManagementFinanceTabIndexes.Raw,
_ => ManagementFinanceTabIndexes.Summary
};
}
} }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
@@ -1311,6 +1324,18 @@
public const string Division = "division"; public const string Division = "division";
} }
private static class ManagementFinanceTabIndexes
{
public const int Summary = 0;
public const int Countries = 1;
public const int Status = 2;
public const int Deviations = 3;
public const int Credits = 4;
public const int Quality = 5;
public const int Division = 6;
public const int Raw = 7;
}
private sealed record ProductFinanceGroupingOption(string Key, string GermanLabel, string EnglishLabel); private sealed record ProductFinanceGroupingOption(string Key, string GermanLabel, string EnglishLabel);
private sealed record ProductFinanceGroupKey( private sealed record ProductFinanceGroupKey(