Fixing OE nodes error handling. (#23172)

This commit is contained in:
Aasim Khan
2023-05-19 08:49:13 -07:00
committed by GitHub
parent da032cf6f1
commit e322641538
2 changed files with 12 additions and 3 deletions

View File

@@ -23,7 +23,7 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/con
import { TreeCreationUtils } from 'sql/workbench/services/objectExplorer/browser/treeCreationUtils'; import { TreeCreationUtils } from 'sql/workbench/services/objectExplorer/browser/treeCreationUtils';
import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils';
import { TreeSelectionHandler } from 'sql/workbench/services/objectExplorer/browser/treeSelectionHandler'; import { TreeSelectionHandler } from 'sql/workbench/services/objectExplorer/browser/treeSelectionHandler';
import { IObjectExplorerService, IServerTreeView, ServerTreeViewView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { ERROR_NODE_TYPE, IObjectExplorerService, IServerTreeView, ServerTreeViewView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService';
import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
import { Button } from 'sql/base/browser/ui/button/button'; import { Button } from 'sql/base/browser/ui/button/button';
import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/services/objectExplorer/common/treeNode';
@@ -928,6 +928,13 @@ export class ServerTreeView extends Disposable implements IServerTreeView {
} }
} }
} }
// In case of error node, we need to show the error message
if (node instanceof TreeNode) {
if (node.objectType === ERROR_NODE_TYPE) {
this.showError(node.label);
}
}
} }
public getActionContext(element: ServerTreeElement): any { public getActionContext(element: ServerTreeElement): any {

View File

@@ -38,6 +38,8 @@ export const enum ServerTreeViewView {
active = 'active' active = 'active'
} }
export const ERROR_NODE_TYPE = 'error';
export interface IServerTreeView { export interface IServerTreeView {
readonly tree: ITree | AsyncServerTree; readonly tree: ITree | AsyncServerTree;
readonly onSelectionOrFocusChange: Event<void>; readonly onSelectionOrFocusChange: Event<void>;
@@ -583,12 +585,12 @@ export class ObjectExplorerService implements IObjectExplorerService {
}; };
let allNodes: azdata.NodeInfo[] = []; let allNodes: azdata.NodeInfo[] = [];
let errorNode: azdata.NodeInfo = { let errorNode: azdata.NodeInfo = {
nodePath: nodePath, nodePath: '',
parentNodePath: '', parentNodePath: '',
objectType: 'error', objectType: 'error',
label: 'Error', label: 'Error',
errorMessage: '', errorMessage: '',
nodeType: 'error', nodeType: ERROR_NODE_TYPE,
isLeaf: true, isLeaf: true,
nodeSubType: '', nodeSubType: '',
nodeStatus: '', nodeStatus: '',