mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-02 14:31:31 +01:00
Fixes
This commit is contained in:
@@ -311,6 +311,7 @@ export class IssueReporter extends Disposable {
|
||||
ipcRenderer.send('vscode:issuePerformanceInfoRequest');
|
||||
}
|
||||
this.updatePreviewButtonState();
|
||||
this.setSourceOptions();
|
||||
this.render();
|
||||
});
|
||||
|
||||
@@ -342,7 +343,19 @@ export class IssueReporter extends Disposable {
|
||||
}
|
||||
|
||||
this.addEventListener('issue-source', 'change', (e: Event) => {
|
||||
const fileOnExtension = JSON.parse((<HTMLInputElement>e.target).value);
|
||||
const value = (<HTMLInputElement>e.target).value;
|
||||
const problemSourceHelpText = this.getElementById('problem-source-help-text')!;
|
||||
if (value === '') {
|
||||
this.issueReporterModel.update({ fileOnExtension: undefined, includeExtensions: false });
|
||||
show(problemSourceHelpText);
|
||||
this.clearSearchResults();
|
||||
this.render();
|
||||
return;
|
||||
} else {
|
||||
hide(problemSourceHelpText);
|
||||
}
|
||||
|
||||
const fileOnExtension = JSON.parse(value);
|
||||
this.issueReporterModel.update({ fileOnExtension: fileOnExtension, includeExtensions: !fileOnExtension });
|
||||
this.render();
|
||||
|
||||
@@ -360,7 +373,7 @@ export class IssueReporter extends Disposable {
|
||||
this.issueReporterModel.update({ issueDescription });
|
||||
|
||||
// Only search for extension issues on title change
|
||||
if (!this.issueReporterModel.fileOnExtension()) {
|
||||
if (this.issueReporterModel.fileOnExtension() === false) {
|
||||
const title = (<HTMLInputElement>this.getElementById('issue-title')).value;
|
||||
this.searchVSCodeIssues(title, issueDescription);
|
||||
}
|
||||
@@ -375,7 +388,12 @@ export class IssueReporter extends Disposable {
|
||||
hide(lengthValidationMessage);
|
||||
}
|
||||
|
||||
if (this.issueReporterModel.fileOnExtension()) {
|
||||
const fileOnExtension = this.issueReporterModel.fileOnExtension();
|
||||
if (fileOnExtension === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (fileOnExtension) {
|
||||
this.searchExtensionIssues(title);
|
||||
} else {
|
||||
const description = this.issueReporterModel.getData().issueDescription;
|
||||
@@ -662,6 +680,45 @@ export class IssueReporter extends Disposable {
|
||||
}
|
||||
|
||||
typeSelect.value = issueType.toString();
|
||||
|
||||
this.setSourceOptions();
|
||||
}
|
||||
|
||||
private makeOption(value: string, description: string, disabled: boolean): HTMLOptionElement {
|
||||
const option: HTMLOptionElement = document.createElement('option');
|
||||
option.disabled = disabled;
|
||||
option.value = value;
|
||||
option.textContent = description;
|
||||
|
||||
return option;
|
||||
}
|
||||
|
||||
private setSourceOptions(): void {
|
||||
const sourceSelect = this.getElementById('issue-source')! as HTMLSelectElement;
|
||||
const selected = sourceSelect.selectedIndex;
|
||||
sourceSelect.innerHTML = '';
|
||||
const { issueType } = this.issueReporterModel.getData();
|
||||
if (issueType === IssueType.FeatureRequest) {
|
||||
sourceSelect.append(...[
|
||||
this.makeOption('', localize('selectSource', "Select source"), true),
|
||||
this.makeOption('false', localize('vscode', "Visual Studio Code"), false),
|
||||
this.makeOption('true', localize('extension', "An extension"), false)
|
||||
]);
|
||||
} else {
|
||||
sourceSelect.append(...[
|
||||
this.makeOption('', localize('selectSource', "Select source"), true),
|
||||
this.makeOption('false', localize('vscode', "Visual Studio Code"), false),
|
||||
this.makeOption('true', localize('extension', "An extension"), false),
|
||||
this.makeOption('', localize('unknown', "Don't Know"), false)
|
||||
]);
|
||||
}
|
||||
|
||||
if (selected !== -1 && selected < sourceSelect.options.length) {
|
||||
sourceSelect.selectedIndex = selected;
|
||||
} else {
|
||||
sourceSelect.selectedIndex = 0;
|
||||
hide(this.getElementById('problem-source-help-text'));
|
||||
}
|
||||
}
|
||||
|
||||
private renderBlocks(): void {
|
||||
@@ -676,7 +733,6 @@ export class IssueReporter extends Disposable {
|
||||
const settingsSearchResultsBlock = document.querySelector('.block-settingsSearchResults');
|
||||
|
||||
const problemSource = this.getElementById('problem-source')!;
|
||||
const problemSourceHelpText = this.getElementById('problem-source-help-text')!;
|
||||
const descriptionTitle = this.getElementById('issue-description-label')!;
|
||||
const descriptionSubtitle = this.getElementById('issue-description-subtitle')!;
|
||||
const extensionSelector = this.getElementById('extension-selection')!;
|
||||
@@ -690,7 +746,6 @@ export class IssueReporter extends Disposable {
|
||||
hide(searchedExtensionsBlock);
|
||||
hide(settingsSearchResultsBlock);
|
||||
hide(problemSource);
|
||||
hide(problemSourceHelpText);
|
||||
hide(extensionSelector);
|
||||
|
||||
if (issueType === IssueType.Bug) {
|
||||
@@ -702,7 +757,6 @@ export class IssueReporter extends Disposable {
|
||||
show(extensionSelector);
|
||||
} else {
|
||||
show(extensionsBlock);
|
||||
show(problemSourceHelpText);
|
||||
}
|
||||
|
||||
descriptionTitle.innerHTML = `${localize('stepsToReproduce', "Steps to Reproduce")} <span class="required-input">*</span>`;
|
||||
@@ -718,7 +772,6 @@ export class IssueReporter extends Disposable {
|
||||
show(extensionSelector);
|
||||
} else {
|
||||
show(extensionsBlock);
|
||||
show(problemSourceHelpText);
|
||||
}
|
||||
|
||||
descriptionTitle.innerHTML = `${localize('stepsToReproduce', "Steps to Reproduce")} <span class="required-input">*</span>`;
|
||||
@@ -782,6 +835,10 @@ export class IssueReporter extends Disposable {
|
||||
this.validateInput('description');
|
||||
});
|
||||
|
||||
this.addEventListener('issue-source', 'change', _ => {
|
||||
this.validateInput('issue-source');
|
||||
});
|
||||
|
||||
if (this.issueReporterModel.fileOnExtension()) {
|
||||
this.addEventListener('extension-selector', 'change', _ => {
|
||||
this.validateInput('extension-selector');
|
||||
|
||||
Reference in New Issue
Block a user