File tree 3 files changed +15
-2
lines changed
data-browser/src/components
3 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,8 @@ interface DropdownMenuProps {
26
26
/** The list of menu items */
27
27
items : Item [ ] ;
28
28
trigger : DropdownTriggerRenderFunction ;
29
+ /** Enables the keyboard shortcut */
30
+ isMainMenu ?: boolean ;
29
31
}
30
32
31
33
/** Gets the index of an array and loops around when at the beginning or end */
@@ -88,6 +90,7 @@ function normalizeItems(items: Item[]) {
88
90
export function DropdownMenu ( {
89
91
items,
90
92
trigger,
93
+ isMainMenu,
91
94
} : DropdownMenuProps ) : JSX . Element {
92
95
const menuId = useId ( ) ;
93
96
const dropdownRef = useRef < HTMLDivElement > ( null ) ;
@@ -167,7 +170,7 @@ export function DropdownMenu({
167
170
handleToggle ( ) ;
168
171
setUseKeys ( true ) ;
169
172
} ,
170
- { } ,
173
+ { enabled : ! ! isMainMenu } ,
171
174
[ isActive ] ,
172
175
) ;
173
176
// Click / open the item
Original file line number Diff line number Diff line change @@ -136,6 +136,7 @@ function NavBar(): JSX.Element {
136
136
137
137
{ showButtons && subject && (
138
138
< ResourceContextMenu
139
+ isMainMenu
139
140
subject = { subject }
140
141
trigger = { MenuBarDropdownTrigger }
141
142
/>
Original file line number Diff line number Diff line change @@ -31,6 +31,8 @@ export interface ResourceContextMenuProps {
31
31
hide ?: string [ ] ;
32
32
trigger ?: DropdownTriggerRenderFunction ;
33
33
simple ?: boolean ;
34
+ /** If it's the primary menu in the navbar. Used for triggering keyboard shortcut */
35
+ isMainMenu ?: boolean ;
34
36
}
35
37
36
38
/** Dropdown menu that opens a bunch of actions for some resource */
@@ -39,6 +41,7 @@ function ResourceContextMenu({
39
41
hide,
40
42
trigger,
41
43
simple,
44
+ isMainMenu,
42
45
} : ResourceContextMenuProps ) {
43
46
const store = useStore ( ) ;
44
47
const navigate = useNavigate ( ) ;
@@ -149,7 +152,13 @@ function ResourceContextMenu({
149
152
150
153
const triggerComp = trigger ?? buildDefaultTrigger ( < FaEllipsisV /> ) ;
151
154
152
- return < DropdownMenu items = { filteredItems } trigger = { triggerComp } /> ;
155
+ return (
156
+ < DropdownMenu
157
+ items = { filteredItems }
158
+ trigger = { triggerComp }
159
+ isMainMenu = { isMainMenu }
160
+ />
161
+ ) ;
153
162
}
154
163
155
164
export default ResourceContextMenu ;
You can’t perform that action at this time.
0 commit comments