未验证 提交 f3c89ccb 编写于 作者: R Rob Lourens 提交者: GitHub

Merge pull request #100024 from edjeffreys/issue/98942-search-clear-exclude

#98942 Clear Search Pattern Fields
...@@ -115,6 +115,10 @@ export class PatternInputWidget extends Widget implements IThemable { ...@@ -115,6 +115,10 @@ export class PatternInputWidget extends Widget implements IThemable {
this.inputBox.clearHistory(); this.inputBox.clearHistory();
} }
clear(): void {
this.setValue('');
}
onSearchSubmit(): void { onSearchSubmit(): void {
this.inputBox.addToHistory(); this.inputBox.addToHistory();
} }
......
...@@ -446,7 +446,7 @@ export class ClearSearchResultsAction extends Action { ...@@ -446,7 +446,7 @@ export class ClearSearchResultsAction extends Action {
update(): void { update(): void {
const searchView = getSearchView(this.viewsService); const searchView = getSearchView(this.viewsService);
this.enabled = !!searchView && (!searchView.allSearchFieldsClear() || searchView.hasSearchResults()); this.enabled = !!searchView && (!searchView.allSearchFieldsClear() || searchView.hasSearchResults() || !searchView.allFilePatternFieldsClear());
} }
run(): Promise<void> { run(): Promise<void> {
......
...@@ -1017,6 +1017,11 @@ export class SearchView extends ViewPane { ...@@ -1017,6 +1017,11 @@ export class SearchView extends ViewPane {
this.searchWidget.searchInput.getValue() === ''; this.searchWidget.searchInput.getValue() === '';
} }
allFilePatternFieldsClear(): boolean {
return this.searchExcludePattern.getValue() === '' &&
this.searchIncludePattern.getValue() === '';
}
hasSearchResults(): boolean { hasSearchResults(): boolean {
return !this.viewModel.searchResult.isEmpty(); return !this.viewModel.searchResult.isEmpty();
} }
...@@ -1032,6 +1037,9 @@ export class SearchView extends ViewPane { ...@@ -1032,6 +1037,9 @@ export class SearchView extends ViewPane {
this.showSearchWithoutFolderMessage(); this.showSearchWithoutFolderMessage();
} }
if (clearInput) { if (clearInput) {
if (this.allSearchFieldsClear()) {
this.clearFilePatternFields();
}
this.searchWidget.clear(); this.searchWidget.clear();
} }
this.viewModel.cancelSearch(); this.viewModel.cancelSearch();
...@@ -1041,6 +1049,11 @@ export class SearchView extends ViewPane { ...@@ -1041,6 +1049,11 @@ export class SearchView extends ViewPane {
aria.status(nls.localize('ariaSearchResultsClearStatus', "The search results have been cleared")); aria.status(nls.localize('ariaSearchResultsClearStatus', "The search results have been cleared"));
} }
clearFilePatternFields(): void {
this.searchExcludePattern.clear();
this.searchIncludePattern.clear();
}
cancelSearch(focus: boolean = true): boolean { cancelSearch(focus: boolean = true): boolean {
if (this.viewModel.cancelSearch()) { if (this.viewModel.cancelSearch()) {
if (focus) { this.searchWidget.focus(); } if (focus) { this.searchWidget.focus(); }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册