Skip to content

Commit 85b4941

Browse files
committed
SNAPSHOT.4
1 parent 1c5b2e0 commit 85b4941

File tree

3 files changed

+24
-13
lines changed

3 files changed

+24
-13
lines changed

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "servermanager",
33
"displayName": "InterSystems Server Manager",
4-
"version": "2.0.0-SNAPSHOT.3",
4+
"version": "2.0.0-SNAPSHOT.4",
55
"publisher": "intersystems-community",
66
"description": "Helper extension for defining connections to InterSystems servers.",
77
"repository": {
@@ -246,7 +246,7 @@
246246
},
247247
{
248248
"command": "intersystems-community.servermanager.retryServer",
249-
"title": "Reconnect",
249+
"title": "Refresh",
250250
"icon": "$(refresh)"
251251
},
252252
{
@@ -427,6 +427,11 @@
427427
"when": "view == intersystems-community_servermanager && viewItem =~ /\\.server\\./",
428428
"group": "inline@90"
429429
},
430+
{
431+
"command": "intersystems-community.servermanager.retryServer",
432+
"when": "view == intersystems-community_servermanager && viewItem =~ /\\.server\\./",
433+
"group": "0_refresh@10"
434+
},
430435
{
431436
"submenu": "intersystems-community.servermanager.iconColor",
432437
"when": "view == intersystems-community_servermanager && viewItem =~ /\\.server\\./",

src/extension.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { getServerNames } from './api/getServerNames';
77
import { getServerSpec } from './api/getServerSpec';
88
import { storePassword, clearPassword } from './commands/managePasswords';
99
import { importFromRegistry } from './commands/importFromRegistry';
10-
import { ServerManagerView, ServerTreeItem } from './ui/serverManagerView';
10+
import { ServerManagerView, ServerTreeItem, SMTreeItem } from './ui/serverManagerView';
1111
import { addServer } from './api/addServer';
1212
import { getPortalUriWithCredentials } from './api/getPortalUriWithCredentials';
1313
import { getServerSummary } from './api/getServerSummary';
@@ -188,8 +188,17 @@ export function activate(context: vscode.ExtensionContext) {
188188
);
189189

190190
context.subscriptions.push(
191-
vscode.commands.registerCommand(`${extensionId}.retryServer`, () => {
192-
view.refreshTree();
191+
vscode.commands.registerCommand(`${extensionId}.retryServer`, (treeItem: SMTreeItem) => {
192+
const depth = treeItem.id?.split(':').length;
193+
if (depth === 2) {
194+
view.refreshTree(treeItem);
195+
}
196+
else if (depth === 3) {
197+
view.refreshTree(treeItem.parent);
198+
}
199+
else if (depth === 4) {
200+
view.refreshTree(treeItem.parent?.parent);
201+
}
193202
})
194203
);
195204

src/ui/serverManagerView.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ export class ServerManagerView {
2323

2424
private _globalState: vscode.Memento;
2525

26-
private _treeView: vscode.TreeView<SMTreeItem>;
27-
2826
private _treeDataProvider: SMNodeProvider;
2927

3028
constructor(context: vscode.ExtensionContext) {
@@ -33,7 +31,6 @@ export class ServerManagerView {
3331
this._treeDataProvider = treeDataProvider;
3432

3533
const treeView = vscode.window.createTreeView('intersystems-community_servermanager', { treeDataProvider, showCollapseAll: true })
36-
this._treeView = treeView;
3734
context.subscriptions.push(treeView);
3835
treeDataProvider.view = treeView;
3936

@@ -91,8 +88,8 @@ export class ServerManagerView {
9188
}
9289
};
9390

94-
refreshTree() {
95-
this._treeDataProvider.refresh();
91+
refreshTree(item?: SMTreeItem | undefined) {
92+
this._treeDataProvider.refresh(item);
9693
}
9794

9895
}
@@ -109,8 +106,8 @@ class SMNodeProvider implements vscode.TreeDataProvider<SMTreeItem> {
109106
constructor() {
110107
}
111108

112-
refresh(): void {
113-
this._onDidChangeTreeData.fire();
109+
refresh(item: SMTreeItem | undefined): void {
110+
this._onDidChangeTreeData.fire(item);
114111
}
115112

116113
getTreeItem(element:SMTreeItem): vscode.TreeItem {
@@ -183,7 +180,7 @@ interface SMItem {
183180
params?: any,
184181
}
185182

186-
class SMTreeItem extends vscode.TreeItem {
183+
export class SMTreeItem extends vscode.TreeItem {
187184

188185
private readonly _getChildren?: Function;
189186
private readonly _params?: any;

0 commit comments

Comments
 (0)