| File: Model\CommonMenuItems.cs | Web Access |
| Project: src\src\Aspire.Dashboard\Aspire.Dashboard.csproj (Aspire.Dashboard) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Dashboard.Resources; using Aspire.Dashboard.Utils; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Localization; using Icons = Microsoft.FluentUI.AspNetCore.Components.Icons; namespace Aspire.Dashboard.Model; public static class CommonMenuItems { public static void AddToggleHiddenResourcesMenuItem( List<MenuButtonItem> menuItems, IStringLocalizer<ControlsStrings> loc, bool showHiddenResources, IEnumerable<ResourceViewModel> resources, ISessionStorage sessionStorage, EventCallback<bool> refreshFunction) { var areResourcesHidden = resources.Any(r => r.IsResourceHidden(false)); if (!showHiddenResources) { menuItems.Add(new MenuButtonItem { IsDisabled = !areResourcesHidden, OnClick = OnToggleShowHiddenResources, Text = loc[nameof(ControlsStrings.ShowHiddenResources)], Icon = new Icons.Regular.Size16.Eye() }); } else { menuItems.Add(new MenuButtonItem { OnClick = OnToggleShowHiddenResources, Text = loc[nameof(ControlsStrings.HideHiddenResources)], Icon = new Icons.Regular.Size16.EyeOff() }); } async Task OnToggleShowHiddenResources() { showHiddenResources = !showHiddenResources; await sessionStorage.SetAsync(BrowserStorageKeys.ResourcesShowHiddenResources, showHiddenResources).ConfigureAwait(true); await refreshFunction.InvokeAsync(showHiddenResources).ConfigureAwait(true); } } }