182 references to AspireKeyboardShortcut
Aspire.Dashboard (117)
Components\Controls\SummaryDetailsView.razor.cs (13)
225
public IReadOnlySet<
AspireKeyboardShortcut
> SubscribedShortcuts { get; } = new HashSet<
AspireKeyboardShortcut
>
227
AspireKeyboardShortcut
.ToggleOrientation,
228
AspireKeyboardShortcut
.ClosePanel,
229
AspireKeyboardShortcut
.ResetPanelSize,
230
AspireKeyboardShortcut
.IncreasePanelSize,
231
AspireKeyboardShortcut
.DecreasePanelSize
234
public async Task OnPageKeyDownAsync(
AspireKeyboardShortcut
shortcut)
241
if (shortcut is
AspireKeyboardShortcut
.ToggleOrientation)
247
if (shortcut is
AspireKeyboardShortcut
.ClosePanel)
260
if (shortcut is
AspireKeyboardShortcut
.ResetPanelSize)
266
if (shortcut is
AspireKeyboardShortcut
.IncreasePanelSize)
271
else if (shortcut is
AspireKeyboardShortcut
.DecreasePanelSize)
Components\Dialogs\KeyboardShortcut.cs (1)
10
public record KeyboardShortcut(
AspireKeyboardShortcut
Shortcut, string[] Keys, string Description);
Components\Dialogs\KeyboardShortcutsHelp.razor.cs (19)
27
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToResources, ["r"], Loc[nameof(Resources.Dialogs.HelpDialogGoToResources)]),
28
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToParameters, ["p"], Loc[nameof(Resources.Dialogs.HelpDialogGoToParameters)]),
29
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToGraph, ["g"], Loc[nameof(Resources.Dialogs.HelpDialogGoToGraph)]),
30
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToTerminals, ["e"], Loc[nameof(Resources.Dialogs.HelpDialogGoToTerminals)]),
31
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToExtensions, ["x"], Loc[nameof(Resources.Dialogs.HelpDialogGoToExtensions)]),
35
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToTelemetrySources, ["o"], Loc[nameof(Resources.Dialogs.HelpDialogGoToTelemetrySources)]),
36
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToConsoleLogs, ["c"], Loc[nameof(Resources.Dialogs.HelpDialogGoToConsoleLogs)]),
37
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToStructuredLogs, ["s"], Loc[nameof(Resources.Dialogs.HelpDialogGoToStructuredLogs)]),
38
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToTraces, ["t"], Loc[nameof(Resources.Dialogs.HelpDialogGoToTraces)]),
39
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToMetrics, ["m"], Loc[nameof(Resources.Dialogs.HelpDialogGoToMetrics)]),
45
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToGraph, ["o"], Loc[nameof(Resources.Dialogs.HelpDialogPlayGame)]),
49
new KeyboardShortcut(
AspireKeyboardShortcut
.IncreasePanelSize, ["+"], Loc[nameof(Resources.Dialogs.HelpDialogIncreasePanelSize)]),
50
new KeyboardShortcut(
AspireKeyboardShortcut
.DecreasePanelSize, ["-"], Loc[nameof(Resources.Dialogs.HelpDialogDecreasePanelSize)]),
51
new KeyboardShortcut(
AspireKeyboardShortcut
.ResetPanelSize, ["Shift", "R"], Loc[nameof(Resources.Dialogs.HelpDialogResetPanelSize)]),
52
new KeyboardShortcut(
AspireKeyboardShortcut
.ToggleOrientation, ["Shift", "T"], Loc[nameof(Resources.Dialogs.HelpDialogTogglePanelOrientation)]),
53
new KeyboardShortcut(
AspireKeyboardShortcut
.ClosePanel, ["Shift", "X"], Loc[nameof(Resources.Dialogs.HelpDialogTogglePanelOpen)]),
57
new KeyboardShortcut(
AspireKeyboardShortcut
.Help, ["?"], Loc[nameof(Resources.Dialogs.HelpDialogGoToHelp)]),
58
new KeyboardShortcut(
AspireKeyboardShortcut
.Settings, ["Shift", "S"], Loc[nameof(Resources.Dialogs.HelpDialogGoToSettings)]),
59
new KeyboardShortcut(
AspireKeyboardShortcut
.ToggleTerminalDock, ["`"], Loc[nameof(Resources.Dialogs.HelpDialogToggleTerminalDock)]),
Components\Layout\MainLayout.razor.cs (31)
565
private static readonly IReadOnlySet<
AspireKeyboardShortcut
> s_subscribedShortcuts = new HashSet<
AspireKeyboardShortcut
>
567
AspireKeyboardShortcut
.Help,
568
AspireKeyboardShortcut
.Settings,
569
AspireKeyboardShortcut
.GoToStructuredLogs,
570
AspireKeyboardShortcut
.GoToTraces,
571
AspireKeyboardShortcut
.GoToMetrics,
572
AspireKeyboardShortcut
.GoToTelemetrySources
575
private static readonly IReadOnlySet<
AspireKeyboardShortcut
> s_resourceServiceSubscribedShortcuts = new HashSet<
AspireKeyboardShortcut
>(
578
AspireKeyboardShortcut
.GoToResources,
579
AspireKeyboardShortcut
.GoToConsoleLogs,
580
AspireKeyboardShortcut
.GoToParameters,
581
AspireKeyboardShortcut
.GoToExtensions
584
public IReadOnlySet<
AspireKeyboardShortcut
> SubscribedShortcuts
593
var shortcuts = new HashSet<
AspireKeyboardShortcut
>(s_resourceServiceSubscribedShortcuts);
596
shortcuts.Add(
AspireKeyboardShortcut
.GoToGraph);
600
shortcuts.Add(
AspireKeyboardShortcut
.GoToTerminals);
607
public async Task OnPageKeyDownAsync(
AspireKeyboardShortcut
shortcut)
611
case
AspireKeyboardShortcut
.Help:
614
case
AspireKeyboardShortcut
.Settings:
617
case
AspireKeyboardShortcut
.GoToResources when DashboardClient.IsEnabled:
620
case
AspireKeyboardShortcut
.GoToConsoleLogs when DashboardClient.IsEnabled:
623
case
AspireKeyboardShortcut
.GoToStructuredLogs:
626
case
AspireKeyboardShortcut
.GoToTraces:
629
case
AspireKeyboardShortcut
.GoToMetrics:
632
case
AspireKeyboardShortcut
.GoToTerminals when DashboardClient.IsEnabled && _navigationAvailability.HasResourceTerminals:
635
case
AspireKeyboardShortcut
.GoToParameters when DashboardClient.IsEnabled:
638
case
AspireKeyboardShortcut
.GoToGraph when DashboardClient.IsEnabled && Options.CurrentValue.UI.DisableResourceGraph != true:
642
case
AspireKeyboardShortcut
.GoToExtensions when DashboardClient.IsEnabled:
645
case
AspireKeyboardShortcut
.GoToTelemetrySources:
Components\Layout\TerminalDock.razor.cs (5)
114
public IReadOnlySet<
AspireKeyboardShortcut
> SubscribedShortcuts { get; } = new HashSet<
AspireKeyboardShortcut
>
116
AspireKeyboardShortcut
.ToggleTerminalDock
131
public Task OnPageKeyDownAsync(
AspireKeyboardShortcut
shortcut)
132
=> shortcut ==
AspireKeyboardShortcut
.ToggleTerminalDock ? ToggleAsync() : Task.CompletedTask;
Components\Legacy\Dialogs\LegacyHelpDialog.razor.cs (14)
25
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToResources, ["r"], Loc[nameof(Resources.Dialogs.HelpDialogGoToResources)]),
26
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToConsoleLogs, ["c"], Loc[nameof(Resources.Dialogs.HelpDialogGoToConsoleLogs)]),
27
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToStructuredLogs, ["s"], Loc[nameof(Resources.Dialogs.HelpDialogGoToStructuredLogs)]),
28
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToTraces, ["t"], Loc[nameof(Resources.Dialogs.HelpDialogGoToTraces)]),
29
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToMetrics, ["m"], Loc[nameof(Resources.Dialogs.HelpDialogGoToMetrics)]),
30
new KeyboardShortcut(
AspireKeyboardShortcut
.GoToTerminals, ["e"], Loc[nameof(Resources.Dialogs.HelpDialogGoToTerminals)]),
34
new KeyboardShortcut(
AspireKeyboardShortcut
.IncreasePanelSize, ["+"], Loc[nameof(Resources.Dialogs.HelpDialogIncreasePanelSize)]),
35
new KeyboardShortcut(
AspireKeyboardShortcut
.DecreasePanelSize, ["-"], Loc[nameof(Resources.Dialogs.HelpDialogDecreasePanelSize)]),
36
new KeyboardShortcut(
AspireKeyboardShortcut
.ResetPanelSize, ["shift", "r"], Loc[nameof(Resources.Dialogs.HelpDialogResetPanelSize)]),
37
new KeyboardShortcut(
AspireKeyboardShortcut
.ToggleOrientation, ["shift", "t"], Loc[nameof(Resources.Dialogs.HelpDialogTogglePanelOrientation)]),
38
new KeyboardShortcut(
AspireKeyboardShortcut
.ClosePanel, ["shift", "x"], Loc[nameof(Resources.Dialogs.HelpDialogTogglePanelOpen)]),
42
new KeyboardShortcut(
AspireKeyboardShortcut
.Help, ["?"], Loc[nameof(Resources.Dialogs.HelpDialogGoToHelp)]),
43
new KeyboardShortcut(
AspireKeyboardShortcut
.Settings, ["shift", "s"], Loc[nameof(Resources.Dialogs.HelpDialogGoToSettings)]),
44
new KeyboardShortcut(
AspireKeyboardShortcut
.ToggleTerminalDock, ["`"], Loc[nameof(Resources.Dialogs.HelpDialogToggleTerminalDock)]),
Components\Legacy\Layout\LegacyMainLayout.razor.cs (24)
496
private static readonly IReadOnlySet<
AspireKeyboardShortcut
> s_subscribedShortcuts = new HashSet<
AspireKeyboardShortcut
>
498
AspireKeyboardShortcut
.Help,
499
AspireKeyboardShortcut
.Settings,
500
AspireKeyboardShortcut
.GoToStructuredLogs,
501
AspireKeyboardShortcut
.GoToTraces,
502
AspireKeyboardShortcut
.GoToMetrics
505
private static readonly IReadOnlySet<
AspireKeyboardShortcut
> s_resourceServiceSubscribedShortcuts = new HashSet<
AspireKeyboardShortcut
>(
508
AspireKeyboardShortcut
.GoToResources,
509
AspireKeyboardShortcut
.GoToConsoleLogs
512
private static readonly IReadOnlySet<
AspireKeyboardShortcut
> s_resourceTerminalsSubscribedShortcuts = new HashSet<
AspireKeyboardShortcut
>(
515
AspireKeyboardShortcut
.GoToTerminals
518
public IReadOnlySet<
AspireKeyboardShortcut
> SubscribedShortcuts =>
526
public async Task OnPageKeyDownAsync(
AspireKeyboardShortcut
shortcut)
530
case
AspireKeyboardShortcut
.Help:
533
case
AspireKeyboardShortcut
.Settings:
536
case
AspireKeyboardShortcut
.GoToResources when DashboardClient.IsEnabled:
539
case
AspireKeyboardShortcut
.GoToConsoleLogs when DashboardClient.IsEnabled:
542
case
AspireKeyboardShortcut
.GoToStructuredLogs:
545
case
AspireKeyboardShortcut
.GoToTraces:
548
case
AspireKeyboardShortcut
.GoToMetrics:
551
case
AspireKeyboardShortcut
.GoToTerminals when DashboardClient.IsEnabled && _hasResourceTerminals:
Model\IGlobalKeydownListener.cs (2)
8
IReadOnlySet<
AspireKeyboardShortcut
> SubscribedShortcuts { get; }
9
Task OnPageKeyDownAsync(
AspireKeyboardShortcut
shortcut);
Serialization\DashboardJsonSerializerContext.cs (1)
26
[JsonSerializable(typeof(
AspireKeyboardShortcut
))]
ShortcutManager.cs (7)
25
public bool IsShortcutAvailable(
AspireKeyboardShortcut
shortcut)
28
if (shortcut is
AspireKeyboardShortcut
.ToggleOrientation
29
or
AspireKeyboardShortcut
.ClosePanel
30
or
AspireKeyboardShortcut
.ResetPanelSize
31
or
AspireKeyboardShortcut
.IncreasePanelSize
32
or
AspireKeyboardShortcut
.DecreasePanelSize)
41
public Task OnGlobalKeyDown(
AspireKeyboardShortcut
shortcut)
Aspire.Dashboard.Components.Tests (64)
Dialogs\HelpDialogTests.cs (2)
88
var cut = RenderHelpDialog(subscribedShortcuts: graphAvailable ? [
AspireKeyboardShortcut
.GoToGraph] : []);
145
private IRenderedComponent<HelpDialog> RenderHelpDialog(HelpDialogTab content = HelpDialogTab.KeyboardShortcuts, bool disableAgentHelp = false, bool disableResourceGraph = false, bool isDashboardClientEnabled = true, TestSessionStorage? sessionStorage = null,
AspireKeyboardShortcut
[]? subscribedShortcuts = null)
Dialogs\KeyboardShortcutsHelpTests.cs (20)
24
shortcutManager.AddGlobalKeydownListener(new TestGlobalKeydownListener(
AspireKeyboardShortcut
.GoToResources));
27
shortcutManager.AddGlobalKeydownListener(new TestGlobalKeydownListener(
AspireKeyboardShortcut
.GoToTerminals));
54
AspireKeyboardShortcut
.Help,
55
AspireKeyboardShortcut
.Settings));
58
shortcutManager.AddGlobalKeydownListener(new TestGlobalKeydownListener(
AspireKeyboardShortcut
.ToggleTerminalDock));
84
AspireKeyboardShortcut
.Help,
85
AspireKeyboardShortcut
.Settings,
86
AspireKeyboardShortcut
.GoToStructuredLogs,
87
AspireKeyboardShortcut
.GoToTraces,
88
AspireKeyboardShortcut
.GoToMetrics));
120
AspireKeyboardShortcut
.GoToResources,
121
AspireKeyboardShortcut
.GoToParameters,
122
AspireKeyboardShortcut
.GoToGraph,
123
AspireKeyboardShortcut
.GoToTerminals,
124
AspireKeyboardShortcut
.GoToExtensions,
125
AspireKeyboardShortcut
.GoToTelemetrySources,
126
AspireKeyboardShortcut
.GoToConsoleLogs,
127
AspireKeyboardShortcut
.GoToStructuredLogs,
128
AspireKeyboardShortcut
.GoToTraces,
129
AspireKeyboardShortcut
.GoToMetrics));
Layout\MainLayoutResourceTerminalsTests.cs (9)
41
cut.WaitForAssertion(() => Assert.Equal(expectedAvailable, shortcuts.IsShortcutAvailable(
AspireKeyboardShortcut
.GoToTerminals)));
43
await cut.InvokeAsync(() => cut.Instance.OnPageKeyDownAsync(
AspireKeyboardShortcut
.GoToTerminals));
75
Assert.True(shortcuts.IsShortcutAvailable(
AspireKeyboardShortcut
.GoToTerminals));
81
Assert.False(shortcuts.IsShortcutAvailable(
AspireKeyboardShortcut
.GoToTerminals));
87
Assert.True(shortcuts.IsShortcutAvailable(
AspireKeyboardShortcut
.GoToTerminals));
92
? shortcuts.IsShortcutAvailable(
AspireKeyboardShortcut
.GoToTerminals)
132
Assert.Equal(expected, cut.Instance.SubscribedShortcuts.Contains(
AspireKeyboardShortcut
.GoToTerminals));
133
Assert.Equal(expected, shortcuts.IsShortcutAvailable(
AspireKeyboardShortcut
.GoToTerminals));
143
await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(
AspireKeyboardShortcut
.GoToTerminals));
Layout\MainLayoutTerminalTests.cs (5)
55
await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(
AspireKeyboardShortcut
.ToggleTerminalDock));
126
await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(
AspireKeyboardShortcut
.ToggleTerminalDock));
147
await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(
AspireKeyboardShortcut
.ToggleTerminalDock));
156
await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(
AspireKeyboardShortcut
.ToggleTerminalDock));
199
await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(
AspireKeyboardShortcut
.ToggleTerminalDock));
Layout\MainLayoutTests.cs (22)
78
[InlineData(
AspireKeyboardShortcut
.GoToResources, "/resources")]
79
[InlineData(
AspireKeyboardShortcut
.GoToParameters, "/parameters")]
80
[InlineData(
AspireKeyboardShortcut
.GoToGraph, "/resources")]
81
[InlineData(
AspireKeyboardShortcut
.GoToExtensions, "/extensions")]
82
[InlineData(
AspireKeyboardShortcut
.GoToTelemetrySources, "/structuredlogs?pane=telemetry")]
83
[InlineData(
AspireKeyboardShortcut
.GoToConsoleLogs, "/consolelogs")]
84
public async Task NavigationShortcut_OpensDestination(
AspireKeyboardShortcut
shortcut, string expectedUrl)
115
foreach (
var
shortcut in new[]
117
AspireKeyboardShortcut
.GoToResources,
118
AspireKeyboardShortcut
.GoToParameters,
119
AspireKeyboardShortcut
.GoToGraph,
120
AspireKeyboardShortcut
.GoToExtensions,
121
AspireKeyboardShortcut
.GoToConsoleLogs
124
var expectedAvailable = resourceServiceEnabled && (shortcut !=
AspireKeyboardShortcut
.GoToGraph || !graphDisabled);
134
Assert.True(shortcuts.IsShortcutAvailable(
AspireKeyboardShortcut
.GoToTelemetrySources));
135
await cut.InvokeAsync(() => shortcuts.OnGlobalKeyDown(
AspireKeyboardShortcut
.GoToTelemetrySources));
1017
[InlineData(
AspireKeyboardShortcut
.Help, "dashboard-help-button", "HelpDialog")]
1018
[InlineData(
AspireKeyboardShortcut
.Settings, "dashboard-settings-button", "SettingsDialog")]
1019
public async Task HeaderDialogShortcutClose_RestoresFocusToLaunchButton(
AspireKeyboardShortcut
shortcut, string launchButtonId, string expectedDialogId)
1054
[InlineData(
AspireKeyboardShortcut
.GoToResources)]
1055
[InlineData(
AspireKeyboardShortcut
.GoToConsoleLogs)]
1056
public async Task ResourceServiceShortcut_WhenResourceServiceIsDisabled_DoesNotNavigate(
AspireKeyboardShortcut
shortcut)
Layout\TerminalDockTelemetryTests.cs (1)
53
await Services.GetRequiredService<ShortcutManager>().OnGlobalKeyDown(
AspireKeyboardShortcut
.ToggleTerminalDock);
Layout\TerminalDockTests.cs (2)
254
await Services.GetRequiredService<ShortcutManager>().OnGlobalKeyDown(
AspireKeyboardShortcut
.ToggleTerminalDock);
580
await Services.GetRequiredService<ShortcutManager>().OnGlobalKeyDown(
AspireKeyboardShortcut
.ToggleTerminalDock);
Shared\TestGlobalKeydownListener.cs (3)
8
internal sealed class TestGlobalKeydownListener(params
AspireKeyboardShortcut
[] shortcuts) : IGlobalKeydownListener
10
public IReadOnlySet<
AspireKeyboardShortcut
> SubscribedShortcuts { get; } = shortcuts.ToHashSet();
12
public Task OnPageKeyDownAsync(
AspireKeyboardShortcut
shortcut)
Aspire.Dashboard.Tests (1)
DashboardJsonSerializerContextTests.cs (1)
54
[InlineData(typeof(
AspireKeyboardShortcut
))]