Skip to content

Commit 74e5772

Browse files
Joseph Schickjschick04
authored andcommitted
Added tab and keyboard toggle support to dropdown toggles
1 parent 99e1a15 commit 74e5772

6 files changed

Lines changed: 39 additions & 4 deletions

File tree

src/EventLogExpert/Components/DetailsPane.razor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<div data-toggle="@IsVisible" hidden="@(SelectedEvent is null)" id="details-pane">
55
<div id="details-resizer"></div>
66

7-
<div class="flex-space-between" id="details-header" @onclick="ToggleMenu">
7+
<div class="flex-space-between" id="details-header" @onclick="ToggleMenu" @onkeydown="HandleKeyDown" tabindex="0">
88
<div>Details</div>
99

1010
<span class="menu-toggle" data-rotate="@IsVisible">
@@ -35,7 +35,7 @@
3535

3636
<hr />
3737

38-
<div class="details-row-xml" @onclick="ToggleXml">
38+
<div class="details-row-xml" @onclick="ToggleXml" @onkeydown="HandleKeyDownXml" tabindex="0">
3939
<div>XML</div>
4040
<div class="justify-self-center">
4141
<button class="button" @onclick="CopyEvent">Copy Event</button>

src/EventLogExpert/Components/DetailsPane.razor.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using EventLogExpert.UI.Store.EventLog;
99
using Fluxor;
1010
using Microsoft.AspNetCore.Components;
11+
using Microsoft.AspNetCore.Components.Web;
1112
using Microsoft.JSInterop;
1213
using System.Collections.Immutable;
1314

@@ -63,6 +64,22 @@ protected override void OnInitialized()
6364

6465
private void CopyEvent() => ClipboardService.CopySelectedEvent(CopyType.Full);
6566

67+
private void HandleKeyDown(KeyboardEventArgs e)
68+
{
69+
if (e.Key is "Enter" or " ")
70+
{
71+
ToggleMenu();
72+
}
73+
}
74+
75+
private void HandleKeyDownXml(KeyboardEventArgs e)
76+
{
77+
if (e.Key is "Enter" or " ")
78+
{
79+
ToggleXml();
80+
}
81+
}
82+
6683
private void ToggleMenu()
6784
{
6885
if (!_hasOpened) { _hasOpened = true; }

src/EventLogExpert/Components/FilterPane.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
</div>
4848
}
4949

50-
<span class="menu-toggle justify-self-right" data-rotate="@MenuState" @onclick="ToggleMenu">
50+
<span class="menu-toggle justify-self-right" data-rotate="@MenuState" @onclick="ToggleMenu" @onkeydown="HandleKeyDown" tabindex="0">
5151
<i class="bi bi-caret-up"></i>
5252
</span>
5353
}

src/EventLogExpert/Components/FilterPane.razor.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using EventLogExpert.UI.Store.FilterPane;
1010
using Fluxor;
1111
using Microsoft.AspNetCore.Components;
12+
using Microsoft.AspNetCore.Components.Web;
1213
using IDispatcher = Fluxor.IDispatcher;
1314

1415
namespace EventLogExpert.Components;
@@ -144,6 +145,14 @@ private int GetActiveFilters()
144145
return count;
145146
}
146147

148+
private void HandleKeyDown(KeyboardEventArgs e)
149+
{
150+
if (e.Key is "Enter" or " ")
151+
{
152+
ToggleMenu();
153+
}
154+
}
155+
147156
private void RemoveDateFilter()
148157
{
149158
_canEditDate = false;

src/EventLogExpert/Shared/Components/Filters/FilterGroupSection.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@using EventLogExpert.UI.Models
22

33
<div>
4-
<div class="flex-space-between my-1" @onclick="ToggleMenu">
4+
<div class="flex-space-between my-1" @onclick="ToggleMenu" @onkeydown="HandleKeyDown" tabindex="0">
55
<span>@Name</span>
66

77
<span class="menu-toggle" data-rotate="@MenuState">

src/EventLogExpert/Shared/Components/Filters/FilterGroupSection.razor.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
using EventLogExpert.UI.Models;
55
using Microsoft.AspNetCore.Components;
6+
using Microsoft.AspNetCore.Components.Web;
67

78
namespace EventLogExpert.Shared.Components.Filters;
89

@@ -19,4 +20,12 @@ public sealed partial class FilterGroupSection
1920
private string MenuState => _menuState.ToString().ToLower();
2021

2122
private void ToggleMenu() => _menuState = !_menuState;
23+
24+
private void HandleKeyDown(KeyboardEventArgs e)
25+
{
26+
if (e.Key is "Enter" or " ")
27+
{
28+
ToggleMenu();
29+
}
30+
}
2231
}

0 commit comments

Comments
 (0)