Fix #116412: Use getting started page as default startupEditor.

This commit is contained in:
Jackson Kearl 2021-02-11 12:34:03 -08:00
parent 78de6c64b0
commit d10f2e6032
4 changed files with 9 additions and 4 deletions

View file

@ -270,7 +270,11 @@ export class GettingStartedPage extends EditorPane {
);
const gettingStartedPage =
$('.gettingStarted', { role: 'document' },
$('.gettingStarted.welcomePageFocusElement', {
role: 'document',
tabIndex: '0',
'aria-label': localize('gettingStartedLabel', "Getting Started. Overview of how to get up to speed with your editor.")
},
$('.gettingStartedSlideCategory.gettingStartedSlide.categories'),
tasksSlide
);
@ -344,7 +348,6 @@ export class GettingStartedPage extends EditorPane {
this.setSlide('details');
this.buildCategorySlide(this.editorInput.selectedCategory, this.editorInput.selectedTask);
} else {
this.focusFirstUncompletedCategory();
this.setSlide('categories');
}
}
@ -521,6 +524,7 @@ export class GettingStartedPage extends EditorPane {
slideManager.classList.add('showCategories');
this.container.querySelector('.gettingStartedSlideDetails')!.querySelectorAll('button').forEach(button => button.disabled = true);
this.container.querySelector('.gettingStartedSlideCategory')!.querySelectorAll('button').forEach(button => button.disabled = false);
(this.container.querySelector('.welcomePageFocusElement') as HTMLElement)?.focus();
} else {
slideManager.classList.add('showDetails');
slideManager.classList.remove('showCategories');

View file

@ -30,7 +30,7 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePageInEmptyWorkbench' }, "Open the Welcome page when opening an empty workbench."),
localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.gettingStarted' }, "Open the Getting Started page.")]
],
'default': 'welcomePage',
'default': 'gettingStarted',
'description': localize('workbench.startupEditor', "Controls which editor is shown at startup, if none are restored from the previous session.")
},
}

View file

@ -92,6 +92,7 @@ export class WalkThroughPart extends EditorPane {
createEditor(container: HTMLElement): void {
this.content = document.createElement('div');
this.content.classList.add('welcomePageFocusElement');
this.content.tabIndex = 0;
this.content.style.outlineStyle = 'none';

View file

@ -73,7 +73,7 @@ export class Application {
await this.code.waitForElement('.explorer-folders-view');
if (expectWalkthroughPart) {
await this.code.waitForActiveElement(`.editor-instance[data-editor-id="workbench.editor.walkThroughPart"] > div > div[tabIndex="0"]`);
await this.code.waitForActiveElement(`.editor-instance > div > div.welcomePageFocusElement[tabIndex="0"]`);
}
}