-
-
Notifications
You must be signed in to change notification settings - Fork 5.9k
Add repo file tree item link behavior #34730
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
It should also follow the browser's default behavior: |
Done, thanks for pointing this out |
By doing some searches, I think "middle key" is not a widely used approach to "open a new window". I do not see browsers officially support it. The widely supported approach is "Ctrl+LeftClick" |
If you'd like to support "middle click", the ideal approach can be like this:
|
I think we should just render a native This way, stuff like middle click, ctrl+click, cmd+click will all work natively and don't even need explicit handlers. |
The same as #34730 (comment) ? Or is there something I missed? |
Basically the same, but I guess the code still need to check whether any modifier key is held, and only |
I see, maybe ideally it could be like this:
|
Yes, so basically: if (e.button !== 0 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey) {
return; // let browser handle the click
}
e.preventDefault();
// update view to clicked file Maybe |
Thanks for the suggestions, I've updated the PR accordingly by using
Interesting, I almost exclusively use the middle click to open links and such in a new tab.
Shift+LeftClick opens the link in a new browser window, so I've kept it. |
Yes, we need to keep all modifiers, they all have a purpose and mine opens new window on shift+click too. middle click and ctrl+click are both known to me, so they are not so obscure :) |
Converts the repo file tree items into
<a>
elements to have default link behavior. Dynamic content load is still done when no special key is pressed while clicking on an item.