mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Differentiated server icons by server type: box, big data cluster, cloud... (#5241)
This commit is contained in:
28
extensions/mssql/src/iconProvider.ts
Normal file
28
extensions/mssql/src/iconProvider.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as azdata from 'azdata';
|
||||
import * as constants from './constants';
|
||||
|
||||
const cloudIcon = 'mssql:cloud';
|
||||
const clusterIcon = 'mssql:cluster';
|
||||
|
||||
export class MssqlIconProvider implements azdata.IconProvider {
|
||||
public readonly providerId: string = constants.sqlProviderName;
|
||||
public handle: number;
|
||||
getConnectionIconId(connection: azdata.IConnectionProfile, serverInfo: azdata.ServerInfo): Thenable<string> {
|
||||
let iconName: string = undefined;
|
||||
if (connection.providerName === 'MSSQL') {
|
||||
if (serverInfo.isCloud) {
|
||||
iconName = cloudIcon;
|
||||
} else if (serverInfo.options['isBigDataCluster']) {
|
||||
iconName = clusterIcon;
|
||||
}
|
||||
}
|
||||
return Promise.resolve(iconName);
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,7 @@ import { OpenSparkYarnHistoryTask } from './sparkFeature/historyTask';
|
||||
import { MssqlObjectExplorerNodeProvider, mssqlOutputChannel } from './objectExplorerNodeProvider/objectExplorerNodeProvider';
|
||||
import { CmsService } from './cms/cmsService';
|
||||
import { registerSearchServerCommand } from './objectExplorerNodeProvider/command';
|
||||
import { MssqlIconProvider } from './iconProvider';
|
||||
|
||||
const baseConfig = require('./config.json');
|
||||
const outputChannel = vscode.window.createOutputChannel(Constants.serviceName);
|
||||
@@ -110,7 +111,8 @@ export async function activate(context: vscode.ExtensionContext): Promise<MssqlE
|
||||
|
||||
let nodeProvider = new MssqlObjectExplorerNodeProvider(prompter, appContext);
|
||||
azdata.dataprotocol.registerObjectExplorerNodeProvider(nodeProvider);
|
||||
|
||||
let iconProvider = new MssqlIconProvider();
|
||||
azdata.dataprotocol.registerIconProvider(iconProvider);
|
||||
cmsService = new CmsService(appContext, languageClient);
|
||||
|
||||
activateSparkFeatures(appContext);
|
||||
|
||||
Reference in New Issue
Block a user