Add title property for data grid providers (#13155)

This commit is contained in:
Charles Gagnon
2020-10-30 15:37:11 -07:00
committed by GitHub
parent 341f7aa7ad
commit 3015845093
11 changed files with 51 additions and 40 deletions

View File

@@ -29,6 +29,8 @@ import { assign } from 'vs/base/common/objects';
import { serializableToMap } from 'sql/base/common/map';
import { IAssessmentService } from 'sql/workbench/services/assessment/common/interfaces';
import { IDataGridProviderService } from 'sql/workbench/services/dataGridProvider/common/dataGridProviderService';
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';
import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys';
/**
* Main thread class for handling data protocol management registration.
@@ -57,7 +59,8 @@ export class MainThreadDataProtocol extends Disposable implements MainThreadData
@ISerializationService private _serializationService: ISerializationService,
@IFileBrowserService private _fileBrowserService: IFileBrowserService,
@IAssessmentService private _assessmentService: IAssessmentService,
@IDataGridProviderService private _dataGridProviderService: IDataGridProviderService
@IDataGridProviderService private _dataGridProviderService: IDataGridProviderService,
@IAdsTelemetryService private _telemetryService: IAdsTelemetryService
) {
super();
if (extHostContext) {
@@ -469,14 +472,23 @@ export class MainThreadDataProtocol extends Disposable implements MainThreadData
return undefined;
}
public $registerDataGridProvider(providerId: string, handle: number): void {
public $registerDataGridProvider(providerId: string, title: string, handle: number): void {
const self = this;
this._dataGridProviderService.registerProvider(providerId, <azdata.DataGridProvider>{
providerId: providerId,
title: title,
getDataGridItems(): Thenable<azdata.DataGridItem[]> {
self._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.GetDataGridItems)
.withAdditionalProperties({
provider: providerId
}).send();
return self._proxy.$getDataGridItems(handle);
},
getDataGridColumns(): Thenable<azdata.DataGridColumn[]> {
self._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.GetDataGridColumns)
.withAdditionalProperties({
provider: providerId
}).send();
return self._proxy.$getDataGridColumns(handle);
}
});

View File

@@ -174,7 +174,7 @@ export class ExtHostDataProtocol extends ExtHostDataProtocolShape {
}
$registerDataGridProvider(provider: azdata.DataGridProvider): vscode.Disposable {
let rt = this.registerProvider(provider, DataProviderType.DataGridProvider);
this._proxy.$registerDataGridProvider(provider.providerId, provider.handle);
this._proxy.$registerDataGridProvider(provider.providerId, provider.title, provider.handle);
return rt;
}
$registerCapabilitiesServiceProvider(provider: azdata.CapabilitiesProvider): vscode.Disposable {

View File

@@ -583,7 +583,7 @@ export interface MainThreadDataProtocolShape extends IDisposable {
$registerAgentServicesProvider(providerId: string, handle: number): Promise<any>;
$registerSerializationProvider(providerId: string, handle: number): Promise<any>;
$registerSqlAssessmentServicesProvider(providerId: string, handle: number): Promise<any>;
$registerDataGridProvider(providerId: string, handle: number): void;
$registerDataGridProvider(providerId: string, title: string, handle: number): void;
$unregisterProvider(handle: number): Promise<any>;
$onConnectionComplete(handle: number, connectionInfoSummary: azdata.ConnectionInfoSummary): void;
$onIntelliSenseCacheComplete(handle: number, connectionUri: string): void;