Skip to content
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

MultiStepInput in QuickInput doesn't work #164

Open
Borvik opened this issue Mar 16, 2019 · 0 comments
Open

MultiStepInput in QuickInput doesn't work #164

Borvik opened this issue Mar 16, 2019 · 0 comments
Assignees

Comments

@Borvik
Copy link

Borvik commented Mar 16, 2019

VS Code Version
Version: 1.32.3 (user setup)
Commit: a3db5be9b5c6ba46bb7555ec5d60178ecc2eaae4
Date: 2019-03-14T23:43:35.476Z
Electron: 3.1.6
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17134

I was attempting to navigate the sample as the preview.gif, but as soon as I choose an option from the first step quickPick, the second step inputBox did not show up.

While debugging, I placed a breakpoint on the line for this.current.show() in the MultiStepInput.showInputBox method. The breakpoint would get hit, and I would hit resume. The second step would then show up - though trying to focus on it would cause it to fail.

So I put console logs in to see what might be happening and got the following output.
image

While the inputBox appears to show - it is hidden immediately. As a shouldResume is set, it looks like it is awaiting the results of that, though it never completes (as an example stub - neither resolve nor reject is called).

If I set the ignoreFocusOut the window stays, but doesn't have focus - which is of course not an ideal user experience.

If I cause shouldResume to resolve to true - then I see the inputBox get created, hidden immediately, and created again - focus isn't an issue this time, but cancelling via Esc is.

Using the breakpoint trick to get the next window to stay, and using the Chrome/Electron Developer Tools window I can see that document.activeElement is correctly set to the input field in the inputBox, but when I attempt to set focus to the window the focus shifts to body.monaco-shell:
image

I've attached a copy of the modified multiStepInput.ts for reference.
multiStepInput.zip

@chrmarti chrmarti added this to the March 2019 milestone Mar 18, 2019
@chrmarti chrmarti modified the milestones: March 2019, April 2019 Mar 28, 2019
@chrmarti chrmarti modified the milestones: April 2019, May 2019 May 8, 2019
@chrmarti chrmarti modified the milestones: May 2019, June 2019 May 28, 2019
@chrmarti chrmarti modified the milestones: June 2019, On Deck Jun 24, 2019
@chrmarti chrmarti removed this from the On Deck milestone Feb 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants