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

@@ -4,20 +4,14 @@
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';
import { IDataGridProviderService } from 'sql/workbench/services/dataGridProvider/common/dataGridProviderService';
import { DataGridProvider, IDataGridProviderService } from 'sql/workbench/services/dataGridProvider/common/dataGridProviderService';
import { invalidProvider } from 'sql/base/common/errors';
import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys';
export class DataGridProviderService implements IDataGridProviderService {
public _serviceBrand: undefined;
private _providers = new Map<string, azdata.DataGridProvider>();
constructor(
@IAdsTelemetryService private _telemetryService: IAdsTelemetryService
) { }
/**
* Register a data grid provider
*/
@@ -32,26 +26,10 @@ export class DataGridProviderService implements IDataGridProviderService {
this._providers.delete(providerId);
}
public async getDataGridItems(providerId: string): Promise<azdata.DataGridItem[]> {
public getDataGridProvider(providerId: string): DataGridProvider {
const provider = this._providers.get(providerId);
if (provider) {
this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.GetDataGridItems)
.withAdditionalProperties({
provider: providerId
}).send();
return provider.getDataGridItems();
}
throw invalidProvider(providerId);
}
public async getDataGridColumns(providerId: string): Promise<azdata.DataGridColumn[]> {
const provider = this._providers.get(providerId);
if (provider) {
this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.GetDataGridColumns)
.withAdditionalProperties({
provider: providerId
}).send();
return provider.getDataGridColumns();
return provider;
}
throw invalidProvider(providerId);
}

View File

@@ -9,6 +9,8 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'
export const SERVICE_ID = 'dataGridProviderService';
export const IDataGridProviderService = createDecorator<IDataGridProviderService>(SERVICE_ID);
export interface DataGridProvider extends azdata.DataGridProvider { }
export interface IDataGridProviderService {
_serviceBrand: undefined;
@@ -23,12 +25,9 @@ export interface IDataGridProviderService {
unregisterProvider(providerId: string): void;
/**
* Gets a list of data grid items from the specified provider
* Gets a registered data grid provider, throwing if none are registered with the specified ID
* @param providerId The id of the registered provider
*/
getDataGridItems(providerId: string): Promise<azdata.DataGridItem[]>;
getDataGridProvider(providerId: string): DataGridProvider;
/**
* Gets a list of data grid columns from the specified provider
*/
getDataGridColumns(providerId: string): Promise<azdata.DataGridColumn[]>;
}