@page "/dashboard" @page "/dashboards/{DashboardId?}" @inject Microsoft.Extensions.Configuration.IConfiguration Configuration @inject NavigationManager Navigation Dashboards
@(IsDesigner ? "Zum Viewer wechseln" : "Zum Designer wechseln")
@code { [Parameter] public string? DashboardId { get; set; } [SupplyParameterFromQuery] public string? Mode { get; set; } private bool IsDesigner => !string.Equals(Mode, "viewer", StringComparison.OrdinalIgnoreCase); private WorkingMode CurrentMode => IsDesigner ? WorkingMode.Designer : WorkingMode.ViewerOnly; private string DashboardKey => $"DefaultDashboard-{(IsDesigner ? "designer" : "viewer")}"; private string DashboardEndpoint => $"{Configuration["ApiBaseUrl"]?.TrimEnd('/')}/api/dashboard"; protected override void OnParametersSet() { if (!string.Equals(DashboardId, "default", StringComparison.OrdinalIgnoreCase)) { Navigation.NavigateTo("dashboards/default", replace: true); } } private void ToggleMode() { var targetMode = IsDesigner ? "viewer" : "designer"; Navigation.NavigateTo($"dashboards/default?mode={targetMode}", replace: true); } }