Skip to content

Commit 4dd096f

Browse files
authored
fix:delete a file or file folder through keyboard (#1540)
1 parent 5681c78 commit 4dd096f

File tree

2 files changed

+36
-22
lines changed

2 files changed

+36
-22
lines changed

client/src/components/ContentNavigator/index.ts

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -105,27 +105,30 @@ class ContentNavigator implements SubscriptionProvider {
105105
const isContainer = getIsContainer(resource);
106106
const moveToRecycleBin =
107107
this.contentDataProvider.canRecycleResource(resource);
108-
if (
109-
!moveToRecycleBin &&
110-
!(await window.showWarningMessage(
111-
l10n.t(Messages.DeleteWarningMessage, {
112-
name: resource.name,
113-
}),
114-
{ modal: true },
115-
Messages.DeleteButtonLabel,
116-
))
117-
) {
118-
return;
119-
}
120-
const deleteResult = moveToRecycleBin
121-
? await this.contentDataProvider.recycleResource(resource)
122-
: await this.contentDataProvider.deleteResource(resource);
123-
if (!deleteResult) {
124-
window.showErrorMessage(
125-
isContainer
126-
? Messages.FolderDeletionError
127-
: Messages.FileDeletionError,
128-
);
108+
109+
if (resource.contextValue.includes("delete")) {
110+
if (
111+
!moveToRecycleBin &&
112+
!(await window.showWarningMessage(
113+
l10n.t(Messages.DeleteWarningMessage, {
114+
name: resource.name,
115+
}),
116+
{ modal: true },
117+
Messages.DeleteButtonLabel,
118+
))
119+
) {
120+
return;
121+
}
122+
const deleteResult = moveToRecycleBin
123+
? await this.contentDataProvider.recycleResource(resource)
124+
: await this.contentDataProvider.deleteResource(resource);
125+
if (!deleteResult) {
126+
window.showErrorMessage(
127+
isContainer
128+
? Messages.FolderDeletionError
129+
: Messages.FileDeletionError,
130+
);
131+
}
129132
}
130133
},
131134
);
@@ -465,9 +468,10 @@ class ContentNavigator implements SubscriptionProvider {
465468

466469
private treeViewSelections(item: ContentItem): ContentItem[] {
467470
const items =
468-
this.contentDataProvider.treeView.selection.length > 1
471+
this.contentDataProvider.treeView.selection.length > 1 || !item
469472
? this.contentDataProvider.treeView.selection
470473
: [item];
474+
471475
const uris: string[] = items.map(({ uri }: ContentItem) => uri);
472476

473477
// If we have a selection that is a child of something we've already selected,

package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,16 @@
803803
"mac": "cmd+/",
804804
"command": "SAS.toggleLineComment",
805805
"when": "editorTextFocus && editorLangId == 'sas'"
806+
},
807+
{
808+
"when": "focusedView == contentdataprovider",
809+
"command": "SAS.content.deleteResource",
810+
"key": "delete"
811+
},
812+
{
813+
"when": "focusedView == serverdataprovider",
814+
"command": "SAS.server.deleteResource",
815+
"key": "delete"
806816
}
807817
],
808818
"menus": {

0 commit comments

Comments
 (0)