103 references to AspireKeyboardShortcut
Aspire.Dashboard (67)
Components\Controls\SummaryDetailsView.razor.cs (13)
225public IReadOnlySet<AspireKeyboardShortcut> SubscribedShortcuts { get; } = new HashSet<AspireKeyboardShortcut> 227AspireKeyboardShortcut.ToggleOrientation, 228AspireKeyboardShortcut.ClosePanel, 229AspireKeyboardShortcut.ResetPanelSize, 230AspireKeyboardShortcut.IncreasePanelSize, 231AspireKeyboardShortcut.DecreasePanelSize 234public async Task OnPageKeyDownAsync(AspireKeyboardShortcut shortcut) 241if (shortcut is AspireKeyboardShortcut.ToggleOrientation) 247if (shortcut is AspireKeyboardShortcut.ClosePanel) 260if (shortcut is AspireKeyboardShortcut.ResetPanelSize) 266if (shortcut is AspireKeyboardShortcut.IncreasePanelSize) 271else if (shortcut is AspireKeyboardShortcut.DecreasePanelSize)
Components\Dialogs\HelpDialog.razor.cs (14)
24new KeyboardShortcut(AspireKeyboardShortcut.GoToResources, ["r"], Loc[nameof(Resources.Dialogs.HelpDialogGoToResources)]), 25new KeyboardShortcut(AspireKeyboardShortcut.GoToConsoleLogs, ["c"], Loc[nameof(Resources.Dialogs.HelpDialogGoToConsoleLogs)]), 26new KeyboardShortcut(AspireKeyboardShortcut.GoToStructuredLogs, ["s"], Loc[nameof(Resources.Dialogs.HelpDialogGoToStructuredLogs)]), 27new KeyboardShortcut(AspireKeyboardShortcut.GoToTraces, ["t"], Loc[nameof(Resources.Dialogs.HelpDialogGoToTraces)]), 28new KeyboardShortcut(AspireKeyboardShortcut.GoToMetrics, ["m"], Loc[nameof(Resources.Dialogs.HelpDialogGoToMetrics)]), 29new KeyboardShortcut(AspireKeyboardShortcut.GoToTerminals, ["e"], Loc[nameof(Resources.Dialogs.HelpDialogGoToTerminals)]), 33new KeyboardShortcut(AspireKeyboardShortcut.IncreasePanelSize, ["+"], Loc[nameof(Resources.Dialogs.HelpDialogIncreasePanelSize)]), 34new KeyboardShortcut(AspireKeyboardShortcut.DecreasePanelSize, ["-"], Loc[nameof(Resources.Dialogs.HelpDialogDecreasePanelSize)]), 35new KeyboardShortcut(AspireKeyboardShortcut.ResetPanelSize, ["shift", "r"], Loc[nameof(Resources.Dialogs.HelpDialogResetPanelSize)]), 36new KeyboardShortcut(AspireKeyboardShortcut.ToggleOrientation, ["shift", "t"], Loc[nameof(Resources.Dialogs.HelpDialogTogglePanelOrientation)]), 37new KeyboardShortcut(AspireKeyboardShortcut.ClosePanel, ["shift", "x"], Loc[nameof(Resources.Dialogs.HelpDialogTogglePanelOpen)]), 41new KeyboardShortcut(AspireKeyboardShortcut.Help, ["?"], Loc[nameof(Resources.Dialogs.HelpDialogGoToHelp)]), 42new KeyboardShortcut(AspireKeyboardShortcut.Settings, ["shift", "s"], Loc[nameof(Resources.Dialogs.HelpDialogGoToSettings)]), 43new KeyboardShortcut(AspireKeyboardShortcut.ToggleTerminalDock, ["`"], Loc[nameof(Resources.Dialogs.HelpDialogToggleTerminalDock)]),
Components\Dialogs\KeyboardShortcut.cs (1)
10public record KeyboardShortcut(AspireKeyboardShortcut Shortcut, string[] Keys, string Description);
Components\Layout\MainLayout.razor.cs (24)
487private static readonly IReadOnlySet<AspireKeyboardShortcut> s_subscribedShortcuts = new HashSet<AspireKeyboardShortcut> 489AspireKeyboardShortcut.Help, 490AspireKeyboardShortcut.Settings, 491AspireKeyboardShortcut.GoToStructuredLogs, 492AspireKeyboardShortcut.GoToTraces, 493AspireKeyboardShortcut.GoToMetrics 496private static readonly IReadOnlySet<AspireKeyboardShortcut> s_resourceServiceSubscribedShortcuts = new HashSet<AspireKeyboardShortcut>( 499AspireKeyboardShortcut.GoToResources, 500AspireKeyboardShortcut.GoToConsoleLogs 503private static readonly IReadOnlySet<AspireKeyboardShortcut> s_resourceTerminalsSubscribedShortcuts = new HashSet<AspireKeyboardShortcut>( 506AspireKeyboardShortcut.GoToTerminals 509public IReadOnlySet<AspireKeyboardShortcut> SubscribedShortcuts => 517public async Task OnPageKeyDownAsync(AspireKeyboardShortcut shortcut) 521case AspireKeyboardShortcut.Help: 524case AspireKeyboardShortcut.Settings: 527case AspireKeyboardShortcut.GoToResources when DashboardClient.IsEnabled: 530case AspireKeyboardShortcut.GoToConsoleLogs when DashboardClient.IsEnabled: 533case AspireKeyboardShortcut.GoToStructuredLogs: 536case AspireKeyboardShortcut.GoToTraces: 539case AspireKeyboardShortcut.GoToMetrics: 542case AspireKeyboardShortcut.GoToTerminals when DashboardClient.IsEnabled && _hasResourceTerminals:
Components\Layout\TerminalDock.razor.cs (5)
100public IReadOnlySet<AspireKeyboardShortcut> SubscribedShortcuts { get; } = new HashSet<AspireKeyboardShortcut> 102AspireKeyboardShortcut.ToggleTerminalDock 117public Task OnPageKeyDownAsync(AspireKeyboardShortcut shortcut) 118=> shortcut == AspireKeyboardShortcut.ToggleTerminalDock ? ToggleAsync() : Task.CompletedTask;
Model\IGlobalKeydownListener.cs (2)
8IReadOnlySet<AspireKeyboardShortcut> SubscribedShortcuts { get; } 9Task OnPageKeyDownAsync(AspireKeyboardShortcut shortcut);
Serialization\DashboardJsonSerializerContext.cs (1)
25[JsonSerializable(typeof(AspireKeyboardShortcut))]
ShortcutManager.cs (7)
25public bool IsShortcutAvailable(AspireKeyboardShortcut shortcut) 28if (shortcut is AspireKeyboardShortcut.ToggleOrientation 29or AspireKeyboardShortcut.ClosePanel 30or AspireKeyboardShortcut.ResetPanelSize 31or AspireKeyboardShortcut.IncreasePanelSize 32or AspireKeyboardShortcut.DecreasePanelSize) 41public Task OnGlobalKeyDown(AspireKeyboardShortcut shortcut)
Aspire.Dashboard.Components.Tests (35)
Dialogs\HelpDialogTests.cs (10)
23shortcutManager.AddGlobalKeydownListener(new TestGlobalKeydownListener(AspireKeyboardShortcut.GoToMetrics)); 26shortcutManager.AddGlobalKeydownListener(new TestGlobalKeydownListener(AspireKeyboardShortcut.GoToTerminals)); 53AspireKeyboardShortcut.Help, 54AspireKeyboardShortcut.Settings)); 57shortcutManager.AddGlobalKeydownListener(new TestGlobalKeydownListener(AspireKeyboardShortcut.ToggleTerminalDock)); 83AspireKeyboardShortcut.Help, 84AspireKeyboardShortcut.Settings, 85AspireKeyboardShortcut.GoToStructuredLogs, 86AspireKeyboardShortcut.GoToTraces, 87AspireKeyboardShortcut.GoToMetrics));
Layout\MainLayoutResourceTerminalsTests.cs (8)
42cut.WaitForAssertion(() => Assert.Equal(expectedAvailable, shortcuts.IsShortcutAvailable(AspireKeyboardShortcut.GoToTerminals))); 44await cut.InvokeAsync(() => cut.Instance.OnPageKeyDownAsync(AspireKeyboardShortcut.GoToTerminals)); 76Assert.True(shortcuts.IsShortcutAvailable(AspireKeyboardShortcut.GoToTerminals)); 82Assert.False(shortcuts.IsShortcutAvailable(AspireKeyboardShortcut.GoToTerminals)); 88Assert.True(shortcuts.IsShortcutAvailable(AspireKeyboardShortcut.GoToTerminals)); 133Assert.Equal(expected, cut.Instance.SubscribedShortcuts.Contains(AspireKeyboardShortcut.GoToTerminals)); 134Assert.Equal(expected, shortcuts.IsShortcutAvailable(AspireKeyboardShortcut.GoToTerminals)); 148await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(AspireKeyboardShortcut.GoToTerminals));
Layout\MainLayoutTerminalTests.cs (5)
56await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(AspireKeyboardShortcut.ToggleTerminalDock)); 127await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(AspireKeyboardShortcut.ToggleTerminalDock)); 148await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(AspireKeyboardShortcut.ToggleTerminalDock)); 157await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(AspireKeyboardShortcut.ToggleTerminalDock)); 200await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(AspireKeyboardShortcut.ToggleTerminalDock));
Layout\MainLayoutTests.cs (6)
1187[InlineData(AspireKeyboardShortcut.Help, "dashboard-help-button", "HelpDialog")] 1188[InlineData(AspireKeyboardShortcut.Settings, "dashboard-settings-button", "SettingsDialog")] 1189public async Task HeaderDialogShortcutClose_RestoresFocusToLaunchButton(AspireKeyboardShortcut shortcut, string launchButtonId, string expectedDialogId) 1224[InlineData(AspireKeyboardShortcut.GoToResources)] 1225[InlineData(AspireKeyboardShortcut.GoToConsoleLogs)] 1226public async Task ResourceServiceShortcut_WhenResourceServiceIsDisabled_DoesNotNavigate(AspireKeyboardShortcut shortcut)
Layout\TerminalDockTelemetryTests.cs (1)
54await Services.GetRequiredService<ShortcutManager>().OnGlobalKeyDown(AspireKeyboardShortcut.ToggleTerminalDock);
Layout\TerminalDockTests.cs (2)
256await Services.GetRequiredService<ShortcutManager>().OnGlobalKeyDown(AspireKeyboardShortcut.ToggleTerminalDock); 549await Services.GetRequiredService<ShortcutManager>().OnGlobalKeyDown(AspireKeyboardShortcut.ToggleTerminalDock);
Shared\TestGlobalKeydownListener.cs (3)
8internal sealed class TestGlobalKeydownListener(params AspireKeyboardShortcut[] shortcuts) : IGlobalKeydownListener 10public IReadOnlySet<AspireKeyboardShortcut> SubscribedShortcuts { get; } = shortcuts.ToHashSet(); 12public Task OnPageKeyDownAsync(AspireKeyboardShortcut shortcut)
Aspire.Dashboard.Tests (1)
DashboardJsonSerializerContextTests.cs (1)
54[InlineData(typeof(AspireKeyboardShortcut))]