mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
add strict nulls for contrib/extensions (#11916)
This commit is contained in:
@@ -7,6 +7,7 @@ import * as platform from 'vs/platform/registry/common/platform';
|
|||||||
import { IJSONSchema } from 'vs/base/common/jsonSchema';
|
import { IJSONSchema } from 'vs/base/common/jsonSchema';
|
||||||
import * as nls from 'vs/nls';
|
import * as nls from 'vs/nls';
|
||||||
import { values } from 'vs/base/common/collections';
|
import { values } from 'vs/base/common/collections';
|
||||||
|
import { IInsightsConfig } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export type InsightIdentifier = string;
|
export type InsightIdentifier = string;
|
||||||
|
|
||||||
@@ -14,52 +15,6 @@ export const Extensions = {
|
|||||||
InsightContribution: 'dashboard.contributions.insights'
|
InsightContribution: 'dashboard.contributions.insights'
|
||||||
};
|
};
|
||||||
|
|
||||||
export interface IInsightsConfig {
|
|
||||||
cacheId?: string;
|
|
||||||
type: any;
|
|
||||||
name?: string;
|
|
||||||
when?: string;
|
|
||||||
gridItemConfig?: ISize;
|
|
||||||
query?: string | Array<string>;
|
|
||||||
queryFile?: string;
|
|
||||||
details?: IInsightsConfigDetails;
|
|
||||||
autoRefreshInterval?: number;
|
|
||||||
id?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface IInsightsLabel {
|
|
||||||
column: string;
|
|
||||||
icon?: string;
|
|
||||||
state?: Array<IStateCondition>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface IStateCondition {
|
|
||||||
condition: {
|
|
||||||
if: string,
|
|
||||||
equals?: string
|
|
||||||
};
|
|
||||||
color?: string;
|
|
||||||
icon?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface IInsightsConfigDetails {
|
|
||||||
query?: string | Array<string>;
|
|
||||||
queryFile?: string;
|
|
||||||
label?: string | IInsightsLabel;
|
|
||||||
value?: string;
|
|
||||||
actions?: {
|
|
||||||
types: Array<string>;
|
|
||||||
database?: string;
|
|
||||||
server?: string;
|
|
||||||
user?: string;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ISize {
|
|
||||||
x: number;
|
|
||||||
y: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface IInsightData {
|
export interface IInsightData {
|
||||||
columns: Array<string>;
|
columns: Array<string>;
|
||||||
rows: Array<Array<string>>;
|
rows: Array<Array<string>>;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
import * as platform from 'vs/platform/registry/common/platform';
|
import * as platform from 'vs/platform/registry/common/platform';
|
||||||
import { IJSONSchema, IJSONSchemaMap } from 'vs/base/common/jsonSchema';
|
import { IJSONSchema, IJSONSchemaMap } from 'vs/base/common/jsonSchema';
|
||||||
import * as nls from 'vs/nls';
|
import * as nls from 'vs/nls';
|
||||||
import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry';
|
import { IInsightsConfig } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export type WidgetIdentifier = string;
|
export type WidgetIdentifier = string;
|
||||||
|
|
||||||
|
|||||||
83
src/sql/platform/extensions/common/extensions.ts
Normal file
83
src/sql/platform/extensions/common/extensions.ts
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
/*---------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
import { IExtensionContributions as vsIExtensionContributions } from 'vs/platform/extensions/common/extensions';
|
||||||
|
|
||||||
|
|
||||||
|
export interface ISize {
|
||||||
|
x: number;
|
||||||
|
y: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IInsightsConfigDetails {
|
||||||
|
query?: string | Array<string>;
|
||||||
|
queryFile?: string;
|
||||||
|
label?: string | IInsightsLabel;
|
||||||
|
value?: string;
|
||||||
|
actions?: {
|
||||||
|
types: Array<string>;
|
||||||
|
database?: string;
|
||||||
|
server?: string;
|
||||||
|
user?: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IInsightsLabel {
|
||||||
|
column: string;
|
||||||
|
icon?: string;
|
||||||
|
state?: Array<IStateCondition>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IStateCondition {
|
||||||
|
condition: {
|
||||||
|
if: string,
|
||||||
|
equals?: string
|
||||||
|
};
|
||||||
|
color?: string;
|
||||||
|
icon?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IInsightsConfig {
|
||||||
|
cacheId?: string;
|
||||||
|
type: any;
|
||||||
|
name?: string;
|
||||||
|
when?: string;
|
||||||
|
gridItemConfig?: ISize;
|
||||||
|
query?: string | Array<string>;
|
||||||
|
queryFile?: string;
|
||||||
|
details?: IInsightsConfigDetails;
|
||||||
|
autoRefreshInterval?: number;
|
||||||
|
id?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IInsightTypeContrib {
|
||||||
|
id: string;
|
||||||
|
contrib: IInsightsConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type IUserFriendlyIcon = string | { light: string; dark: string; };
|
||||||
|
|
||||||
|
export interface IDashboardTabContrib {
|
||||||
|
id: string;
|
||||||
|
title: string;
|
||||||
|
container: { [key: string]: any };
|
||||||
|
provider: string | string[];
|
||||||
|
when?: string;
|
||||||
|
description?: string;
|
||||||
|
alwaysShow?: boolean;
|
||||||
|
isHomeTab?: boolean;
|
||||||
|
group?: string;
|
||||||
|
icon?: IUserFriendlyIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IInsightTypeContrib {
|
||||||
|
id: string;
|
||||||
|
contrib: IInsightsConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IExtensionContributions extends vsIExtensionContributions {
|
||||||
|
readonly 'dashboard.insights'?: IInsightTypeContrib | IInsightTypeContrib[];
|
||||||
|
readonly 'dashboard.tabs'?: IDashboardTabContrib | IDashboardTabContrib[]
|
||||||
|
}
|
||||||
@@ -14,11 +14,11 @@ import { ObjectMetadata } from 'azdata';
|
|||||||
import { Action } from 'vs/base/common/actions';
|
import { Action } from 'vs/base/common/actions';
|
||||||
import * as nls from 'vs/nls';
|
import * as nls from 'vs/nls';
|
||||||
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||||
import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry';
|
|
||||||
import { IOpenerService } from 'vs/platform/opener/common/opener';
|
import { IOpenerService } from 'vs/platform/opener/common/opener';
|
||||||
import { URI } from 'vs/base/common/uri';
|
import { URI } from 'vs/base/common/uri';
|
||||||
import { IAccountManagementService } from 'sql/platform/accounts/common/interfaces';
|
import { IAccountManagementService } from 'sql/platform/accounts/common/interfaces';
|
||||||
import { ILogService } from 'vs/platform/log/common/log';
|
import { ILogService } from 'vs/platform/log/common/log';
|
||||||
|
import { IInsightsConfig } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export interface BaseActionContext {
|
export interface BaseActionContext {
|
||||||
object?: ObjectMetadata;
|
object?: ObjectMetadata;
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import { Action } from 'vs/base/common/actions';
|
|||||||
import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
|
import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
|
||||||
import { URI } from 'vs/base/common/uri';
|
import { URI } from 'vs/base/common/uri';
|
||||||
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
|
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
|
||||||
import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry';
|
|
||||||
import { IInsightOptions } from 'sql/workbench/contrib/charts/common/interfaces';
|
import { IInsightOptions } from 'sql/workbench/contrib/charts/common/interfaces';
|
||||||
import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput';
|
import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput';
|
||||||
import { IFileService } from 'vs/platform/files/common/files';
|
import { IFileService } from 'vs/platform/files/common/files';
|
||||||
@@ -25,6 +24,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
|
|||||||
import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput';
|
import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput';
|
||||||
import { ChartView } from 'sql/workbench/contrib/charts/browser/chartView';
|
import { ChartView } from 'sql/workbench/contrib/charts/browser/chartView';
|
||||||
import { ConfigureChartDialog } from 'sql/workbench/contrib/charts/browser/configureChartDialog';
|
import { ConfigureChartDialog } from 'sql/workbench/contrib/charts/browser/configureChartDialog';
|
||||||
|
import { IInsightsConfig } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export interface IChartActionContext {
|
export interface IChartActionContext {
|
||||||
options: IInsightOptions;
|
options: IInsightOptions;
|
||||||
|
|||||||
@@ -15,22 +15,9 @@ import { NAV_SECTION, validateNavSectionContributionAndRegisterIcon } from 'sql/
|
|||||||
import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/contrib/dashboard/browser/containers/dashboardWidgetContainer.contribution';
|
import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/contrib/dashboard/browser/containers/dashboardWidgetContainer.contribution';
|
||||||
import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/contrib/dashboard/browser/containers/dashboardGridContainer.contribution';
|
import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/contrib/dashboard/browser/containers/dashboardGridContainer.contribution';
|
||||||
import { values } from 'vs/base/common/collections';
|
import { values } from 'vs/base/common/collections';
|
||||||
import { IUserFriendlyIcon } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget';
|
|
||||||
import { isValidIcon, createCSSRuleForIcon } from 'sql/workbench/contrib/dashboard/browser/dashboardIconUtil';
|
import { isValidIcon, createCSSRuleForIcon } from 'sql/workbench/contrib/dashboard/browser/dashboardIconUtil';
|
||||||
import { IDashboardTabGroup, IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces';
|
import { IDashboardTabGroup, IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces';
|
||||||
|
import { IDashboardTabContrib } from 'sql/platform/extensions/common/extensions';
|
||||||
export interface IDashboardTabContrib {
|
|
||||||
id: string;
|
|
||||||
title: string;
|
|
||||||
container: { [key: string]: any };
|
|
||||||
provider: string | string[];
|
|
||||||
when?: string;
|
|
||||||
description?: string;
|
|
||||||
alwaysShow?: boolean;
|
|
||||||
isHomeTab?: boolean;
|
|
||||||
group?: string;
|
|
||||||
icon?: IUserFriendlyIcon;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface IDashboardTabGroupContrib {
|
export interface IDashboardTabGroupContrib {
|
||||||
id: string;
|
id: string;
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import { Action } from 'vs/base/common/actions';
|
|||||||
import { Disposable } from 'vs/base/common/lifecycle';
|
import { Disposable } from 'vs/base/common/lifecycle';
|
||||||
import { TabType } from 'sql/base/browser/ui/panel/tab.component';
|
import { TabType } from 'sql/base/browser/ui/panel/tab.component';
|
||||||
import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces';
|
import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces';
|
||||||
|
import { IUserFriendlyIcon } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export interface IDashboardWidget {
|
export interface IDashboardWidget {
|
||||||
actions: Array<Action>;
|
actions: Array<Action>;
|
||||||
@@ -47,7 +48,6 @@ export interface TabConfig extends IDashboardTab {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export type IUserFriendlyIcon = string | { light: string; dark: string; };
|
|
||||||
|
|
||||||
export interface NavSectionConfig {
|
export interface NavSectionConfig {
|
||||||
id: string;
|
id: string;
|
||||||
|
|||||||
@@ -3,12 +3,12 @@
|
|||||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
import { IUserFriendlyIcon } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget';
|
|
||||||
import { asCSSUrl, createCSSRule } from 'vs/base/browser/dom';
|
import { asCSSUrl, createCSSRule } from 'vs/base/browser/dom';
|
||||||
import { IdGenerator } from 'vs/base/common/idGenerator';
|
import { IdGenerator } from 'vs/base/common/idGenerator';
|
||||||
import * as resources from 'vs/base/common/resources';
|
import * as resources from 'vs/base/common/resources';
|
||||||
import * as nls from 'vs/nls';
|
import * as nls from 'vs/nls';
|
||||||
import { IExtensionPointUser } from 'vs/workbench/services/extensions/common/extensionsRegistry';
|
import { IExtensionPointUser } from 'vs/workbench/services/extensions/common/extensionsRegistry';
|
||||||
|
import { IUserFriendlyIcon } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
const ids = new IdGenerator('contrib-dashboard-icon-');
|
const ids = new IdGenerator('contrib-dashboard-icon-');
|
||||||
export function createCSSRuleForIcon(icon: IUserFriendlyIcon, extension: IExtensionPointUser<any>): string {
|
export function createCSSRuleForIcon(icon: IUserFriendlyIcon, extension: IExtensionPointUser<any>): string {
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import { DashboardWidget, IDashboardWidget, WIDGET_CONFIG, WidgetConfig } from '
|
|||||||
import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service';
|
import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service';
|
||||||
import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive';
|
import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive';
|
||||||
import { InsightAction, InsightActionContext } from 'sql/workbench/browser/actions';
|
import { InsightAction, InsightActionContext } from 'sql/workbench/browser/actions';
|
||||||
import { Extensions, IInsightRegistry, IInsightsConfig, IInsightsView, getWidgetAutoRefreshState } from 'sql/platform/dashboard/browser/insightRegistry';
|
import { Extensions, IInsightRegistry, IInsightsView, getWidgetAutoRefreshState } from 'sql/platform/dashboard/browser/insightRegistry';
|
||||||
import { resolveQueryFilePath } from 'sql/workbench/services/insights/common/insightsUtils';
|
import { resolveQueryFilePath } from 'sql/workbench/services/insights/common/insightsUtils';
|
||||||
|
|
||||||
import { RunInsightQueryAction } from './actions';
|
import { RunInsightQueryAction } from './actions';
|
||||||
@@ -35,6 +35,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
|
|||||||
import { IFileService } from 'vs/platform/files/common/files';
|
import { IFileService } from 'vs/platform/files/common/files';
|
||||||
import { URI } from 'vs/base/common/uri';
|
import { URI } from 'vs/base/common/uri';
|
||||||
import { subscriptionToDisposable } from 'sql/base/browser/lifecycle';
|
import { subscriptionToDisposable } from 'sql/base/browser/lifecycle';
|
||||||
|
import { IInsightsConfig } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
const insightRegistry = Registry.as<IInsightRegistry>(Extensions.InsightContribution);
|
const insightRegistry = Registry.as<IInsightRegistry>(Extensions.InsightContribution);
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,13 @@ import { join } from 'vs/base/common/path';
|
|||||||
|
|
||||||
import { registerDashboardWidget, registerNonCustomDashboardWidget } from 'sql/platform/dashboard/browser/widgetRegistry';
|
import { registerDashboardWidget, registerNonCustomDashboardWidget } from 'sql/platform/dashboard/browser/widgetRegistry';
|
||||||
import { Extensions as InsightExtensions, IInsightRegistry, setWidgetAutoRefreshState } from 'sql/platform/dashboard/browser/insightRegistry';
|
import { Extensions as InsightExtensions, IInsightRegistry, setWidgetAutoRefreshState } from 'sql/platform/dashboard/browser/insightRegistry';
|
||||||
import { IInsightTypeContrib } from './interfaces';
|
|
||||||
import { insightsContribution, insightsSchema } from 'sql/workbench/contrib/dashboard/browser/widgets/insights/insightsWidgetSchemas';
|
import { insightsContribution, insightsSchema } from 'sql/workbench/contrib/dashboard/browser/widgets/insights/insightsWidgetSchemas';
|
||||||
|
|
||||||
import { IExtensionPointUser, ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry';
|
import { IExtensionPointUser, ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry';
|
||||||
import { Registry } from 'vs/platform/registry/common/platform';
|
import { Registry } from 'vs/platform/registry/common/platform';
|
||||||
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
|
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
|
||||||
import { ServicesAccessor } from 'vs/editor/browser/editorExtensions';
|
import { ServicesAccessor } from 'vs/editor/browser/editorExtensions';
|
||||||
|
import { IInsightTypeContrib } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
const insightRegistry = Registry.as<IInsightRegistry>(InsightExtensions.InsightContribution);
|
const insightRegistry = Registry.as<IInsightRegistry>(InsightExtensions.InsightContribution);
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------------------------
|
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
||||||
*--------------------------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry';
|
|
||||||
|
|
||||||
export interface IInsightTypeContrib {
|
|
||||||
id: string;
|
|
||||||
contrib: IInsightsConfig;
|
|
||||||
}
|
|
||||||
@@ -4,10 +4,9 @@
|
|||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
import { append, $ } from 'vs/base/browser/dom';
|
import { append, $ } from 'vs/base/browser/dom';
|
||||||
import { IInsightTypeContrib } from 'sql/workbench/contrib/dashboard/browser/widgets/insights/interfaces';
|
|
||||||
import { IDashboardTabContrib } from 'sql/workbench/contrib/dashboard/browser/core/dashboardTab.contribution';
|
|
||||||
import { localize } from 'vs/nls';
|
import { localize } from 'vs/nls';
|
||||||
import { IExtensionManifest } from 'vs/platform/extensions/common/extensions';
|
import { IExtensionManifest } from 'vs/platform/extensions/common/extensions';
|
||||||
|
import { IDashboardTabContrib, IExtensionContributions, IInsightTypeContrib } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
class ContributionReader {
|
class ContributionReader {
|
||||||
constructor(private manifest: IExtensionManifest) { }
|
constructor(private manifest: IExtensionManifest) { }
|
||||||
@@ -15,7 +14,7 @@ class ContributionReader {
|
|||||||
public dashboardInsights(): IInsightTypeContrib[] {
|
public dashboardInsights(): IInsightTypeContrib[] {
|
||||||
let contributes = this.manifest.contributes;
|
let contributes = this.manifest.contributes;
|
||||||
if (contributes) {
|
if (contributes) {
|
||||||
let insights: IInsightTypeContrib | IInsightTypeContrib[] = contributes['dashboard.insights'];
|
let insights = (contributes as IExtensionContributions)['dashboard.insights'];
|
||||||
if (insights) {
|
if (insights) {
|
||||||
if (!Array.isArray(insights)) {
|
if (!Array.isArray(insights)) {
|
||||||
return [insights];
|
return [insights];
|
||||||
@@ -23,13 +22,13 @@ class ContributionReader {
|
|||||||
return insights;
|
return insights;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return undefined;
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
public dashboardTabs(): IDashboardTabContrib[] {
|
public dashboardTabs(): IDashboardTabContrib[] {
|
||||||
let contributes = this.manifest.contributes;
|
let contributes = this.manifest.contributes;
|
||||||
if (contributes) {
|
if (contributes) {
|
||||||
let tabs: IDashboardTabContrib | IDashboardTabContrib[] = contributes['dashboard.tabs'];
|
let tabs = (contributes as IExtensionContributions)['dashboard.tabs'];
|
||||||
if (tabs) {
|
if (tabs) {
|
||||||
if (!Array.isArray(tabs)) {
|
if (!Array.isArray(tabs)) {
|
||||||
return [tabs];
|
return [tabs];
|
||||||
@@ -37,7 +36,7 @@ class ContributionReader {
|
|||||||
return tabs;
|
return tabs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return undefined;
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,17 +55,17 @@ function renderDashboardTabs(onDetailsToggle: Function, contributionReader: Cont
|
|||||||
}
|
}
|
||||||
|
|
||||||
const details = $('details', { open: true, ontoggle: onDetailsToggle },
|
const details = $('details', { open: true, ontoggle: onDetailsToggle },
|
||||||
$('summary', null, localize('tabs', "Dashboard Tabs ({0})", tabs.length)),
|
$('summary', undefined, localize('tabs', "Dashboard Tabs ({0})", tabs.length)),
|
||||||
$('table', null,
|
$('table', undefined,
|
||||||
$('tr', null,
|
$('tr', undefined,
|
||||||
$('th', null, localize('tabId', "Id")),
|
$('th', undefined, localize('tabId', "Id")),
|
||||||
$('th', null, localize('tabTitle', "Title")),
|
$('th', undefined, localize('tabTitle', "Title")),
|
||||||
$('th', null, localize('tabDescription', "Description"))
|
$('th', undefined, localize('tabDescription', "Description"))
|
||||||
),
|
),
|
||||||
...tabs.map(tab => $('tr', null,
|
...tabs.map(tab => $('tr', undefined,
|
||||||
$('td', null, $('code', null, tab.id)),
|
$('td', undefined, $('code', undefined, tab.id)),
|
||||||
$('td', null, tab.title ? tab.title : tab.id),
|
$('td', undefined, tab.title ? tab.title : tab.id),
|
||||||
$('td', null, tab.description),
|
$('td', undefined, tab.description ?? ''),
|
||||||
))
|
))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -83,17 +82,17 @@ function renderDashboardInsights(onDetailsToggle: Function, contributionReader:
|
|||||||
}
|
}
|
||||||
|
|
||||||
const details = $('details', { open: true, ontoggle: onDetailsToggle },
|
const details = $('details', { open: true, ontoggle: onDetailsToggle },
|
||||||
$('summary', null, localize('insights', "Dashboard Insights ({0})", insights.length)),
|
$('summary', undefined, localize('insights', "Dashboard Insights ({0})", insights.length)),
|
||||||
$('table', null,
|
$('table', undefined,
|
||||||
$('tr', null,
|
$('tr', undefined,
|
||||||
$('th', null, localize('insightId', "Id")),
|
$('th', undefined, localize('insightId', "Id")),
|
||||||
$('th', null, localize('name', "Name")),
|
$('th', undefined, localize('name', "Name")),
|
||||||
$('th', null, localize('insight condition', "When"))
|
$('th', undefined, localize('insight condition', "When"))
|
||||||
),
|
),
|
||||||
...insights.map(insight => $('tr', null,
|
...insights.map(insight => $('tr', undefined,
|
||||||
$('td', null, $('code', null, insight.id)),
|
$('td', undefined, $('code', undefined, insight.id)),
|
||||||
$('td', null, insight.contrib.name ? insight.contrib.name : insight.id),
|
$('td', undefined, insight.contrib.name ? insight.contrib.name : insight.id),
|
||||||
$('td', null, insight.contrib.when),
|
$('td', undefined, insight.contrib.when ?? ''),
|
||||||
))
|
))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import { ILogService } from 'vs/platform/log/common/log';
|
|||||||
import { IFileService } from 'vs/platform/files/common/files';
|
import { IFileService } from 'vs/platform/files/common/files';
|
||||||
import { URI } from 'vs/base/common/uri';
|
import { URI } from 'vs/base/common/uri';
|
||||||
import { IInsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogService';
|
import { IInsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogService';
|
||||||
import { IInsightsConfigDetails } from 'sql/platform/dashboard/browser/insightRegistry';
|
import { IInsightsConfigDetails } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export class InsightsDialogController {
|
export class InsightsDialogController {
|
||||||
private _queryRunner: QueryRunner;
|
private _queryRunner: QueryRunner;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
import { IInsightsDialogModel, ListResource } from 'sql/workbench/services/insights/browser/insightsDialogService';
|
import { IInsightsDialogModel, ListResource } from 'sql/workbench/services/insights/browser/insightsDialogService';
|
||||||
|
|
||||||
import { Event, Emitter } from 'vs/base/common/event';
|
import { Event, Emitter } from 'vs/base/common/event';
|
||||||
import { IInsightsConfigDetails, IInsightsLabel } from 'sql/platform/dashboard/browser/insightRegistry';
|
import { IInsightsConfigDetails, IInsightsLabel } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export enum Conditional {
|
export enum Conditional {
|
||||||
'equals',
|
'equals',
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'
|
|||||||
|
|
||||||
import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
|
import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
|
||||||
import { BaseActionContext } from 'sql/workbench/browser/actions';
|
import { BaseActionContext } from 'sql/workbench/browser/actions';
|
||||||
import { IInsightsConfigDetails, IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry';
|
import { IInsightsConfigDetails, IInsightsConfig } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export interface IInsightsDialogModel {
|
export interface IInsightsDialogModel {
|
||||||
rows: string[][];
|
rows: string[][];
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import { InsightsDialogView } from 'sql/workbench/services/insights/browser/insi
|
|||||||
import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
|
import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
|
||||||
import { IInsightsDialogModel, IInsightsDialogService } from 'sql/workbench/services/insights/browser/insightsDialogService';
|
import { IInsightsDialogModel, IInsightsDialogService } from 'sql/workbench/services/insights/browser/insightsDialogService';
|
||||||
import { InsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogModel';
|
import { InsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogModel';
|
||||||
import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry';
|
|
||||||
import { InsightsDialogController } from 'sql/workbench/services/insights/browser/insightsDialogController';
|
import { InsightsDialogController } from 'sql/workbench/services/insights/browser/insightsDialogController';
|
||||||
|
import { IInsightsConfig } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
export class InsightsDialogService implements IInsightsDialogService {
|
export class InsightsDialogService implements IInsightsDialogService {
|
||||||
_serviceBrand: undefined;
|
_serviceBrand: undefined;
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import { SplitView, Orientation, Sizing } from 'vs/base/browser/ui/splitview/spl
|
|||||||
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
|
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
|
||||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||||
import { ILogService } from 'vs/platform/log/common/log';
|
import { ILogService } from 'vs/platform/log/common/log';
|
||||||
import { IInsightsConfigDetails } from 'sql/platform/dashboard/browser/insightRegistry';
|
|
||||||
import { TaskRegistry } from 'sql/workbench/services/tasks/browser/tasksRegistry';
|
import { TaskRegistry } from 'sql/workbench/services/tasks/browser/tasksRegistry';
|
||||||
import { ITextResourcePropertiesService } from 'vs/editor/common/services/textResourceConfigurationService';
|
import { ITextResourcePropertiesService } from 'vs/editor/common/services/textResourceConfigurationService';
|
||||||
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';
|
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';
|
||||||
@@ -49,6 +48,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
|||||||
import { ILayoutService } from 'vs/platform/layout/browser/layoutService';
|
import { ILayoutService } from 'vs/platform/layout/browser/layoutService';
|
||||||
import { Registry } from 'vs/platform/registry/common/platform';
|
import { Registry } from 'vs/platform/registry/common/platform';
|
||||||
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
|
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
|
||||||
|
import { IInsightsConfigDetails } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
const labelDisplay = nls.localize("insights.item", "Item");
|
const labelDisplay = nls.localize("insights.item", "Item");
|
||||||
const valueDisplay = nls.localize("insights.value", "Value");
|
const valueDisplay = nls.localize("insights.value", "Value");
|
||||||
|
|||||||
@@ -15,11 +15,11 @@ import { equal } from 'assert';
|
|||||||
import { Mock, MockBehavior, It } from 'typemoq';
|
import { Mock, MockBehavior, It } from 'typemoq';
|
||||||
import { Emitter } from 'vs/base/common/event';
|
import { Emitter } from 'vs/base/common/event';
|
||||||
import { InsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogModel';
|
import { InsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogModel';
|
||||||
import { IInsightsConfigDetails } from 'sql/platform/dashboard/browser/insightRegistry';
|
|
||||||
import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService';
|
import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService';
|
||||||
import { IStorageService } from 'vs/platform/storage/common/storage';
|
import { IStorageService } from 'vs/platform/storage/common/storage';
|
||||||
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';
|
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';
|
||||||
import { TestStorageService } from 'vs/workbench/test/common/workbenchTestServices';
|
import { TestStorageService } from 'vs/workbench/test/common/workbenchTestServices';
|
||||||
|
import { IInsightsConfigDetails } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
const testData: string[][] = [
|
const testData: string[][] = [
|
||||||
['1', '2', '3', '4'],
|
['1', '2', '3', '4'],
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { InsightsDialogModel } from 'sql/workbench/services/insights/browser/ins
|
|||||||
import { isUndefinedOrNull } from 'vs/base/common/types';
|
import { isUndefinedOrNull } from 'vs/base/common/types';
|
||||||
|
|
||||||
import * as assert from 'assert';
|
import * as assert from 'assert';
|
||||||
import { IInsightsLabel, IInsightsConfigDetails } from 'sql/platform/dashboard/browser/insightRegistry';
|
import { IInsightsLabel, IInsightsConfigDetails } from 'sql/platform/extensions/common/extensions';
|
||||||
|
|
||||||
suite('Insights Dialog Model Tests', () => {
|
suite('Insights Dialog Model Tests', () => {
|
||||||
test('does parse condition right', () => {
|
test('does parse condition right', () => {
|
||||||
|
|||||||
@@ -42,7 +42,6 @@
|
|||||||
"./sql/workbench/contrib/dataExplorer/**/*.ts", // 3275 errors
|
"./sql/workbench/contrib/dataExplorer/**/*.ts", // 3275 errors
|
||||||
"./sql/workbench/contrib/editData/**/*.ts", // 579 errors
|
"./sql/workbench/contrib/editData/**/*.ts", // 579 errors
|
||||||
"./sql/workbench/contrib/editorReplacement/**/*.ts", // 3315 errors
|
"./sql/workbench/contrib/editorReplacement/**/*.ts", // 3315 errors
|
||||||
"./sql/workbench/contrib/extensions/**/*.ts", // 45 errors
|
|
||||||
"./sql/workbench/contrib/jobManagement/**/*.ts", // 315 errors
|
"./sql/workbench/contrib/jobManagement/**/*.ts", // 315 errors
|
||||||
"./sql/workbench/contrib/modelView/**/*.ts", // 3253 errors
|
"./sql/workbench/contrib/modelView/**/*.ts", // 3253 errors
|
||||||
"./sql/workbench/contrib/notebook/**/*.ts", // 3740 errors
|
"./sql/workbench/contrib/notebook/**/*.ts", // 3740 errors
|
||||||
|
|||||||
Reference in New Issue
Block a user