mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-22 01:25:38 -05:00
Add title property for data grid providers (#13155)
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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[]>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user