Update grid keyboard handling to bring invalid origin consideration to be highest precedence
This commit is contained in:
parent
defcc7a273
commit
44ef27299a
|
@ -15,8 +15,22 @@
|
||||||
selectedRows,
|
selectedRows,
|
||||||
} = getContext("grid")
|
} = getContext("grid")
|
||||||
|
|
||||||
|
const ignoredOriginSelectors = [
|
||||||
|
".spectrum-Modal",
|
||||||
|
"#builder-side-panel-container",
|
||||||
|
]
|
||||||
|
|
||||||
// Global key listener which intercepts all key events
|
// Global key listener which intercepts all key events
|
||||||
const handleKeyDown = e => {
|
const handleKeyDown = e => {
|
||||||
|
// Avoid processing events sourced from certain origins
|
||||||
|
if (e.target?.closest) {
|
||||||
|
for (let selector of ignoredOriginSelectors) {
|
||||||
|
if (e.target.closest(selector)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// If nothing selected avoid processing further key presses
|
// If nothing selected avoid processing further key presses
|
||||||
if (!$focusedCellId) {
|
if (!$focusedCellId) {
|
||||||
if (e.key === "Tab" || e.key?.startsWith("Arrow")) {
|
if (e.key === "Tab" || e.key?.startsWith("Arrow")) {
|
||||||
|
@ -60,11 +74,6 @@
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Avoid processing events sourced from modals
|
|
||||||
if (e.target?.closest?.(".spectrum-Modal")) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
||||||
// Handle the key ourselves
|
// Handle the key ourselves
|
||||||
|
|
Loading…
Reference in New Issue