mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
fix(trace-viewer): scroll action into view (#10978)
This commit is contained in:
parent
eb9c8a8f06
commit
037baf0945
@ -51,19 +51,28 @@ export const ActionList: React.FC<ActionListProps> = ({
|
|||||||
onKeyDown={event => {
|
onKeyDown={event => {
|
||||||
if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp')
|
if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp')
|
||||||
return;
|
return;
|
||||||
|
event.stopPropagation();
|
||||||
|
event.preventDefault();
|
||||||
const index = selectedAction ? actions.indexOf(selectedAction) : -1;
|
const index = selectedAction ? actions.indexOf(selectedAction) : -1;
|
||||||
|
let newIndex = index;
|
||||||
if (event.key === 'ArrowDown') {
|
if (event.key === 'ArrowDown') {
|
||||||
if (index === -1)
|
if (index === -1)
|
||||||
onSelected(actions[0]);
|
newIndex = 0;
|
||||||
else
|
else
|
||||||
onSelected(actions[Math.min(index + 1, actions.length - 1)]);
|
newIndex = Math.min(index + 1, actions.length - 1);
|
||||||
}
|
}
|
||||||
if (event.key === 'ArrowUp') {
|
if (event.key === 'ArrowUp') {
|
||||||
if (index === -1)
|
if (index === -1)
|
||||||
onSelected(actions[actions.length - 1]);
|
newIndex = actions.length - 1;
|
||||||
else
|
else
|
||||||
onSelected(actions[Math.max(index - 1, 0)]);
|
newIndex = Math.max(index - 1, 0);
|
||||||
}
|
}
|
||||||
|
const element = actionListRef.current?.children.item(newIndex);
|
||||||
|
if ((element as any)?.scrollIntoViewIfNeeded)
|
||||||
|
(element as any).scrollIntoViewIfNeeded(false);
|
||||||
|
else
|
||||||
|
element?.scrollIntoView();
|
||||||
|
onSelected(actions[newIndex]);
|
||||||
}}
|
}}
|
||||||
ref={actionListRef}
|
ref={actionListRef}
|
||||||
>
|
>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user