Files
azuredatastudio/extensions/cms/src/cmsResource/tree/cmsResourceEmptyTreeNode.ts
Anthony Dresser ef0a92d83f Add compile options to a few extensions (#8252)
* add compile options to a few extensions

* move dep to dev dep

* fix return types
2019-11-07 11:41:31 -08:00

50 lines
1.7 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { TreeItem, TreeItemCollapsibleState } from 'vscode';
import { NodeInfo } from 'azdata';
import * as nls from 'vscode-nls';
const localize = nls.loadMessageBundle();
import { TreeNode } from '../treeNode';
import { CmsResourceItemType } from '../constants';
export class CmsResourceEmptyTreeNode extends TreeNode {
public getChildren(): TreeNode[] | Promise<TreeNode[]> {
return [];
}
public getTreeItem(): TreeItem | Promise<TreeItem> {
let item = new TreeItem(CmsResourceEmptyTreeNode.addCmsServerLabel, TreeItemCollapsibleState.None);
item.command = {
title: CmsResourceEmptyTreeNode.addCmsServerLabel,
command: 'cms.resource.registerCmsServer',
arguments: [this]
};
item.contextValue = CmsResourceItemType.cmsEmptyNodeContainer;
return item;
}
public getNodeInfo(): NodeInfo {
return {
label: CmsResourceEmptyTreeNode.addCmsServerLabel,
isLeaf: true,
errorMessage: undefined,
metadata: undefined,
nodePath: this.generateNodePath(),
nodeStatus: undefined,
nodeType: CmsResourceItemType.cmsEmptyNodeContainer,
iconType: CmsResourceItemType.cmsEmptyNodeContainer,
nodeSubType: undefined
};
}
public get nodePathValue(): string {
return 'message_cmsTreeNode';
}
private static readonly addCmsServerLabel = localize('cms.resource.tree.CmsTreeNode.addCmsServerLabel', "Add Central Management Server...");
}