diff --git a/.eslintrc.json b/.eslintrc.json index 0f2004d025..7cd1dedda8 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -494,6 +494,40 @@ "vs/workbench/contrib/files/common/editors/fileEditorInput", // this should be fine, it only accesses constants from contrib "vscode-textmate" ] + }, + { + "target": "**/{vs,sql}/workbench/services/**/worker/**", + "restrictions": [ + "vs/nls", + "**/{vs,sql}/base/**/common/**", + "**/{vs,sql}/platform/**/common/**", + "**/{vs,sql}/editor/common/**", + "**/{vs,sql}/workbench/**/common/**", + "**/{vs,sql}/workbench/**/worker/**", + "**/{vs,sql}/workbench/services/**/common/**", + "vscode" + ] + }, + { + "target": "**/{vs,sql}/workbench/services/**/browser/**", + "restrictions": [ + "vs/nls", + "vs/css!./**/*", + "azdata", + "vscode", + "**/{vs,sql}/base/**/{common,browser,worker}/**", + "**/{vs,sql}/platform/**/{common,browser}/**", + "**/{vs,sql}/editor/{common,browser}/**", + "**/{vs,sql}/workbench/workbench.web.api", + "**/{vs,sql}/workbench/{common,browser}/**", + "**/{vs,sql}/workbench/api/{common,browser}/**", + "**/{vs,sql}/workbench/services/**/{common,browser}/**", + "vscode-textmate", + "onigasm-umd", + "sanitize-html", + "@angular/*", + "rxjs/**" + ] } ] }, diff --git a/build/gulpfile.hygiene.js b/build/gulpfile.hygiene.js index dc229a973a..09269be8da 100644 --- a/build/gulpfile.hygiene.js +++ b/build/gulpfile.hygiene.js @@ -141,9 +141,9 @@ const copyrightFilter = [ '!extensions/mssql/src/hdfs/webhdfs.ts', '!src/sql/workbench/contrib/notebook/browser/outputs/tableRenderers.ts', '!src/sql/workbench/contrib/notebook/common/models/url.ts', - '!src/sql/workbench/contrib/notebook/browser/models/renderMimeInterfaces.ts', + '!src/sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces.ts', '!src/sql/workbench/contrib/notebook/browser/models/outputProcessor.ts', - '!src/sql/workbench/contrib/notebook/browser/models/mimemodel.ts', + '!src/sql/workbench/services/notebook/browser/outputs/mimemodel.ts', '!src/sql/workbench/contrib/notebook/browser/cellViews/media/*.css', '!src/sql/base/browser/ui/table/plugins/rowSelectionModel.plugin.ts', '!src/sql/base/browser/ui/table/plugins/rowDetailView.ts', @@ -151,10 +151,10 @@ const copyrightFilter = [ '!src/sql/base/browser/ui/table/plugins/checkboxSelectColumn.plugin.ts', '!src/sql/base/browser/ui/table/plugins/cellSelectionModel.plugin.ts', '!src/sql/base/browser/ui/table/plugins/autoSizeColumns.plugin.ts', - '!src/sql/workbench/contrib/notebook/browser/outputs/sanitizer.ts', + '!src/sql/workbench/services/notebook/browser/outputs/sanitizer.ts', '!src/sql/workbench/contrib/notebook/browser/outputs/renderers.ts', - '!src/sql/workbench/contrib/notebook/browser/outputs/registry.ts', - '!src/sql/workbench/contrib/notebook/browser/outputs/factories.ts', + '!src/sql/workbench/services/notebook/browser/outputs/registry.ts', + '!src/sql/workbench/services/notebook/browser/outputs/factories.ts', '!src/sql/workbench/services/notebook/common/nbformat.ts', '!extensions/markdown-language-features/media/tomorrow.css', '!src/sql/workbench/browser/modelComponents/media/highlight.css', diff --git a/src/sql/workbench/api/browser/mainThreadNotebook.ts b/src/sql/workbench/api/browser/mainThreadNotebook.ts index 520aad6891..b3e3275ce9 100644 --- a/src/sql/workbench/api/browser/mainThreadNotebook.ts +++ b/src/sql/workbench/api/browser/mainThreadNotebook.ts @@ -15,8 +15,8 @@ import { INotebookService, INotebookProvider, INotebookManager } from 'sql/workb import { INotebookManagerDetails, INotebookSessionDetails, INotebookKernelDetails, FutureMessageType, INotebookFutureDetails, INotebookFutureDone } from 'sql/workbench/api/common/sqlExtHostTypes'; import { LocalContentManager } from 'sql/workbench/services/notebook/common/localContentManager'; import { Deferred } from 'sql/base/common/promise'; -import { FutureInternal } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; +import type { FutureInternal } from 'sql/workbench/services/notebook/browser/interfaces'; @extHostNamedCustomer(SqlMainContext.MainThreadNotebook) export class MainThreadNotebook extends Disposable implements MainThreadNotebookShape { diff --git a/src/sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.ts b/src/sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.ts index 7707680e06..9cafdc873e 100644 --- a/src/sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.ts +++ b/src/sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.ts @@ -24,7 +24,7 @@ import { NotebookInput } from 'sql/workbench/contrib/notebook/browser/models/not import { INotebookService, INotebookEditor } from 'sql/workbench/services/notebook/browser/notebookService'; import { ISingleNotebookEditOperation, NotebookChangeKind } from 'sql/workbench/api/common/sqlExtHostTypes'; import { disposed } from 'vs/base/common/errors'; -import { ICellModel, NotebookContentChange, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel, NotebookContentChange, INotebookModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { NotebookChangeType, CellTypes } from 'sql/workbench/services/notebook/common/contracts'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService'; diff --git a/src/sql/workbench/contrib/editData/browser/editDataInput.ts b/src/sql/workbench/browser/editData/editDataInput.ts similarity index 91% rename from src/sql/workbench/contrib/editData/browser/editDataInput.ts rename to src/sql/workbench/browser/editData/editDataInput.ts index 8577805ea9..0127faf239 100644 --- a/src/sql/workbench/contrib/editData/browser/editDataInput.ts +++ b/src/sql/workbench/browser/editData/editDataInput.ts @@ -12,7 +12,7 @@ import { URI } from 'vs/base/common/uri'; import * as nls from 'vs/nls'; import { INotificationService } from 'vs/platform/notification/common/notification'; import Severity from 'vs/base/common/severity'; -import { EditDataResultsInput } from 'sql/workbench/contrib/editData/browser/editDataResultsInput'; +import { EditDataResultsInput } from 'sql/workbench/browser/editData/editDataResultsInput'; import { IEditorViewState } from 'vs/editor/common/editorCommon'; import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput'; import { IResolvedTextEditorModel } from 'vs/editor/common/services/resolverService'; @@ -24,19 +24,17 @@ import { IUntitledTextEditorModel, UntitledTextEditorModel } from 'vs/workbench/ export class EditDataInput extends EditorInput implements IConnectableInput { public static ID: string = 'workbench.editorinputs.editDataInput'; private _hasBootstrapped: boolean; - private _editorContainer: HTMLElement; private _updateTaskbar: Emitter; private _editorInitializing: Emitter; - private _showResultsEditor: Emitter; + private _showResultsEditor: Emitter; private _refreshButtonEnabled: boolean; private _stopButtonEnabled: boolean; private _setup: boolean; - private _rowLimit: number; + private _rowLimit?: number; private _objectType: string; - private _css: HTMLStyleElement; private _useQueryFilter: boolean; - public savedViewState: IEditorViewState; + public savedViewState?: IEditorViewState; constructor( private _uri: URI, @@ -104,13 +102,12 @@ export class EditDataInput extends EditorInput implements IConnectableInput { public getResultsInputResource(): string { return this._results.uri; } public get updateTaskbarEvent(): Event { return this._updateTaskbar.event; } public get editorInitializingEvent(): Event { return this._editorInitializing.event; } - public get showResultsEditorEvent(): Event { return this._showResultsEditor.event; } + public get showResultsEditorEvent(): Event { return this._showResultsEditor.event; } public get stopButtonEnabled(): boolean { return this._stopButtonEnabled; } public get refreshButtonEnabled(): boolean { return this._refreshButtonEnabled; } - public get container(): HTMLElement { return this._editorContainer; } public get hasBootstrapped(): boolean { return this._hasBootstrapped; } public get setup(): boolean { return this._setup; } - public get rowLimit(): number { return this._rowLimit; } + public get rowLimit(): number | undefined { return this._rowLimit; } public get objectType(): string { return this._objectType; } public showResultsEditor(): void { this._showResultsEditor.fire(undefined); } public isDirty(): boolean { return false; } @@ -126,12 +123,6 @@ export class EditDataInput extends EditorInput implements IConnectableInput { public set queryString(queryString: string) { this._queryString = queryString; } - public get css(): HTMLStyleElement { - return this._css; - } - public set css(css: HTMLStyleElement) { - this._css = css; - } public get queryPaneEnabled(): boolean { return this._useQueryFilter; } @@ -178,8 +169,8 @@ export class EditDataInput extends EditorInput implements IConnectableInput { } public onConnectSuccess(params?: INewConnectionParams): void { - let rowLimit: number = undefined; - let queryString: string = undefined; + let rowLimit: number | undefined = undefined; + let queryString: string | undefined = undefined; if (this._useQueryFilter) { queryString = this._queryString; } else { diff --git a/src/sql/workbench/contrib/editData/browser/editDataResultsInput.ts b/src/sql/workbench/browser/editData/editDataResultsInput.ts similarity index 92% rename from src/sql/workbench/contrib/editData/browser/editDataResultsInput.ts rename to src/sql/workbench/browser/editData/editDataResultsInput.ts index 346bc00003..e931ea6ff2 100644 --- a/src/sql/workbench/contrib/editData/browser/editDataResultsInput.ts +++ b/src/sql/workbench/browser/editData/editDataResultsInput.ts @@ -19,8 +19,8 @@ export class EditDataResultsInput extends EditorInput { private _hasBootstrapped: boolean; // Holds the HTML content for the editor when the editor discards this input and loads another - private _editorContainer: HTMLElement; - public css: HTMLStyleElement; + private _editorContainer?: HTMLElement; + public css?: HTMLStyleElement; public readonly onRestoreViewStateEmitter = new Emitter(); public readonly onSaveViewStateEmitter = new Emitter(); @@ -68,7 +68,7 @@ export class EditDataResultsInput extends EditorInput { let parentContainer = this._editorContainer.parentNode; if (parentContainer) { parentContainer.removeChild(this._editorContainer); - this._editorContainer = null; + this._editorContainer = undefined; } } @@ -78,12 +78,12 @@ export class EditDataResultsInput extends EditorInput { return 'workbench.editorinputs.editDataResultsInput'; } - set container(container: HTMLElement) { + setContainer(container: HTMLElement) { this._disposeContainer(); this._editorContainer = container; } - get container(): HTMLElement { + get container(): HTMLElement | undefined { return this._editorContainer; } diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboardInput.ts b/src/sql/workbench/browser/editor/profiler/dashboardInput.ts similarity index 100% rename from src/sql/workbench/contrib/dashboard/browser/dashboardInput.ts rename to src/sql/workbench/browser/editor/profiler/dashboardInput.ts diff --git a/src/sql/workbench/contrib/profiler/browser/profilerInput.ts b/src/sql/workbench/browser/editor/profiler/profilerInput.ts similarity index 99% rename from src/sql/workbench/contrib/profiler/browser/profilerInput.ts rename to src/sql/workbench/browser/editor/profiler/profilerInput.ts index acce74e513..4292134dcc 100644 --- a/src/sql/workbench/contrib/profiler/browser/profilerInput.ts +++ b/src/sql/workbench/browser/editor/profiler/profilerInput.ts @@ -5,7 +5,7 @@ import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; import { IProfilerSession, IProfilerService, ProfilerSessionID, IProfilerViewTemplate, ProfilerFilter } from 'sql/workbench/services/profiler/browser/interfaces'; -import { ProfilerState } from 'sql/workbench/contrib/profiler/common/profilerState'; +import { ProfilerState } from 'sql/workbench/common/editor/profiler/profilerState'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import * as azdata from 'azdata'; diff --git a/src/sql/workbench/contrib/profiler/common/profilerState.ts b/src/sql/workbench/common/editor/profiler/profilerState.ts similarity index 84% rename from src/sql/workbench/contrib/profiler/common/profilerState.ts rename to src/sql/workbench/common/editor/profiler/profilerState.ts index 590566b503..83865336dc 100644 --- a/src/sql/workbench/contrib/profiler/common/profilerState.ts +++ b/src/sql/workbench/common/editor/profiler/profilerState.ts @@ -26,18 +26,18 @@ export interface INewProfilerState { export class ProfilerState implements IDisposable { - private _isConnected: boolean; - private _isRunning: boolean; - private _isPaused: boolean; - private _isStopped: boolean; - private _autoscroll: boolean; + private _isConnected?: boolean; + private _isRunning?: boolean; + private _isPaused?: boolean; + private _isStopped?: boolean; + private _autoscroll?: boolean; private _isPanelCollapsed = true; - public get isConnected(): boolean { return this._isConnected; } - public get isRunning(): boolean { return this._isRunning; } - public get isPaused(): boolean { return this._isPaused; } - public get isStopped(): boolean { return this._isStopped; } - public get autoscroll(): boolean { return this._autoscroll; } + public get isConnected(): boolean | undefined { return this._isConnected; } + public get isRunning(): boolean | undefined { return this._isRunning; } + public get isPaused(): boolean | undefined { return this._isPaused; } + public get isStopped(): boolean | undefined { return this._isStopped; } + public get autoscroll(): boolean | undefined { return this._autoscroll; } public get isPanelCollapsed(): boolean { return this._isPanelCollapsed; } private readonly _onProfilerStateChange = new Emitter(); diff --git a/src/sql/workbench/common/editor/query/chartState.ts b/src/sql/workbench/common/editor/query/chartState.ts new file mode 100644 index 0000000000..3014e53778 --- /dev/null +++ b/src/sql/workbench/common/editor/query/chartState.ts @@ -0,0 +1,67 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export enum InsightType { + Image = 'image', + Table = 'table', + Count = 'count' +} + +export enum ChartType { + Bar = 'bar', + Doughnut = 'doughnut', + HorizontalBar = 'horizontalBar', + Line = 'line', + Pie = 'pie', + TimeSeries = 'timeSeries', + Scatter = 'scatter' +} + +export enum LegendPosition { + Top = 'top', + Bottom = 'bottom', + Left = 'left', + Right = 'right', + None = 'none' +} + +export enum DataType { + Number = 'number', + Point = 'point' +} + +export enum DataDirection { + Vertical = 'vertical', + Horizontal = 'horizontal' +} + +export interface IInsightOptions { + type: InsightType | ChartType; + dataDirection?: DataDirection; + dataType?: DataType; + labelFirstColumn?: boolean; + columnsAsLabels?: boolean; + legendPosition?: LegendPosition; + yAxisLabel?: string; + yAxisMin?: number; + yAxisMax?: number; + xAxisLabel?: string; + xAxisMin?: number; + xAxisMax?: number; + encoding?: string; + imageFormat?: string; +} + +export class ChartState { + dataId?: { + batchId: number; + resultId: number; + }; + options: IInsightOptions = { + type: ChartType.Bar + }; + dispose() { + } +} diff --git a/src/sql/workbench/contrib/query/common/gridPanelState.ts b/src/sql/workbench/common/editor/query/gridPanelState.ts similarity index 75% rename from src/sql/workbench/contrib/query/common/gridPanelState.ts rename to src/sql/workbench/common/editor/query/gridPanelState.ts index 87a7c7da4d..f978684a27 100644 --- a/src/sql/workbench/contrib/query/common/gridPanelState.ts +++ b/src/sql/workbench/common/editor/query/gridPanelState.ts @@ -8,7 +8,7 @@ import { Event, Emitter } from 'vs/base/common/event'; export class GridPanelState { public tableStates: GridTableState[] = []; - public scrollPosition: number; + public scrollPosition?: number; dispose() { dispose(this.tableStates); @@ -17,7 +17,7 @@ export class GridPanelState { export class GridTableState extends Disposable { - private _maximized: boolean; + private _maximized?: boolean; private _onMaximizedChange = this._register(new Emitter()); public onMaximizedChange: Event = this._onMaximizedChange.event; @@ -25,37 +25,37 @@ export class GridTableState extends Disposable { private _onCanBeMaximizedChange = this._register(new Emitter()); public onCanBeMaximizedChange: Event = this._onCanBeMaximizedChange.event; - private _canBeMaximized: boolean; + private _canBeMaximized?: boolean; /* The top row of the current scroll */ public scrollPositionY = 0; public scrollPositionX = 0; public columnSizes?: number[] = undefined; - public selection: Slick.Range[]; - public activeCell: Slick.Cell; + public selection?: Slick.Range[]; + public activeCell?: Slick.Cell; constructor(public readonly resultId: number, public readonly batchId: number) { super(); } - public get canBeMaximized(): boolean { + public get canBeMaximized(): boolean | undefined { return this._canBeMaximized; } - public set canBeMaximized(val: boolean) { - if (val === this._canBeMaximized) { + public set canBeMaximized(val: boolean | undefined) { + if (!val || val === this._canBeMaximized) { return; } this._canBeMaximized = val; this._onCanBeMaximizedChange.fire(val); } - public get maximized(): boolean { + public get maximized(): boolean | undefined { return this._maximized; } - public set maximized(val: boolean) { - if (val === this._maximized) { + public set maximized(val: boolean | undefined) { + if (!val || val === this._maximized) { return; } this._maximized = val; diff --git a/src/sql/workbench/contrib/query/common/messagePanelState.ts b/src/sql/workbench/common/editor/query/messagePanelState.ts similarity index 92% rename from src/sql/workbench/contrib/query/common/messagePanelState.ts rename to src/sql/workbench/common/editor/query/messagePanelState.ts index 8a0a8b9976..e9b6fa445a 100644 --- a/src/sql/workbench/contrib/query/common/messagePanelState.ts +++ b/src/sql/workbench/common/editor/query/messagePanelState.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ export class MessagePanelState { - public scrollPosition: number; + public scrollPosition?: number; dispose() { diff --git a/src/sql/workbench/contrib/query/common/modelViewTab/modelViewState.ts b/src/sql/workbench/common/editor/query/modelViewState.ts similarity index 93% rename from src/sql/workbench/contrib/query/common/modelViewTab/modelViewState.ts rename to src/sql/workbench/common/editor/query/modelViewState.ts index 0c28f1ae7c..5cd923e3c5 100644 --- a/src/sql/workbench/contrib/query/common/modelViewTab/modelViewState.ts +++ b/src/sql/workbench/common/editor/query/modelViewState.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ export class QueryModelViewState { - public componentId: string; + public componentId?: string; public dispose() { } } diff --git a/src/sql/workbench/contrib/query/common/queryEditorInput.ts b/src/sql/workbench/common/editor/query/queryEditorInput.ts similarity index 97% rename from src/sql/workbench/contrib/query/common/queryEditorInput.ts rename to src/sql/workbench/common/editor/query/queryEditorInput.ts index 49f2c038a9..6d0faf29d3 100644 --- a/src/sql/workbench/contrib/query/common/queryEditorInput.ts +++ b/src/sql/workbench/common/editor/query/queryEditorInput.ts @@ -11,7 +11,7 @@ import { EditorInput, GroupIdentifier, IRevertOptions, ISaveOptions, IEditorInpu import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConnectionManagementService, IConnectableInput, INewConnectionParams, RunQueryOnConnectionMode } from 'sql/platform/connection/common/connectionManagement'; -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; import { IQueryModelService } from 'sql/workbench/services/query/common/queryModel'; import { ISelectionData, ExecutionPlanOptions } from 'azdata'; @@ -166,7 +166,7 @@ export abstract class QueryEditorInput extends EditorInput implements IConnectab } // Getters for private properties - public get uri(): string { return this.getResource().toString(true); } + public get uri(): string { return this.getResource()!.toString(true); } public get text(): EditorInput { return this._text; } public get results(): QueryResultsInput { return this._results; } // Description is shown beside the tab name in the combobox of open editors @@ -191,7 +191,7 @@ export abstract class QueryEditorInput extends EditorInput implements IConnectab // Forwarding resource functions to the inline sql file editor public isDirty(): boolean { return this._text.isDirty(); } - public getResource(): URI { return this._text.getResource(); } + public getResource(): URI | undefined { return this._text.getResource(); } public matchInputInstanceType(inputType: any): boolean { return (this._text instanceof inputType); diff --git a/src/sql/workbench/contrib/queryPlan/common/queryPlanState.ts b/src/sql/workbench/common/editor/query/queryPlanState.ts similarity index 96% rename from src/sql/workbench/contrib/queryPlan/common/queryPlanState.ts rename to src/sql/workbench/common/editor/query/queryPlanState.ts index ff5bcb7883..e4c3ea5f27 100644 --- a/src/sql/workbench/contrib/queryPlan/common/queryPlanState.ts +++ b/src/sql/workbench/common/editor/query/queryPlanState.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ export class QueryPlanState { - xml: string; + xml?: string; dispose() { } diff --git a/src/sql/workbench/contrib/query/common/queryResultsInput.ts b/src/sql/workbench/common/editor/query/queryResultsInput.ts similarity index 80% rename from src/sql/workbench/contrib/query/common/queryResultsInput.ts rename to src/sql/workbench/common/editor/query/queryResultsInput.ts index 5fc16c4c45..ca59e536e9 100644 --- a/src/sql/workbench/contrib/query/common/queryResultsInput.ts +++ b/src/sql/workbench/common/editor/query/queryResultsInput.ts @@ -6,12 +6,12 @@ import { localize } from 'vs/nls'; import { EditorInput } from 'vs/workbench/common/editor'; -import { TopOperationsState } from 'sql/workbench/contrib/queryPlan/common/topOperationsState'; -import { ChartState } from 'sql/workbench/contrib/charts/common/interfaces'; -import { QueryPlanState } from 'sql/workbench/contrib/queryPlan/common/queryPlanState'; -import { MessagePanelState } from 'sql/workbench/contrib/query/common/messagePanelState'; -import { GridPanelState } from 'sql/workbench/contrib/query/common/gridPanelState'; -import { QueryModelViewState } from 'sql/workbench/contrib/query/common/modelViewTab/modelViewState'; +import { TopOperationsState } from 'sql/workbench/common/editor/query/topOperationsState'; +import { ChartState } from 'sql/workbench/common/editor/query/chartState'; +import { QueryPlanState } from 'sql/workbench/common/editor/query/queryPlanState'; +import { MessagePanelState } from 'sql/workbench/common/editor/query/messagePanelState'; +import { GridPanelState } from 'sql/workbench/common/editor/query/gridPanelState'; +import { QueryModelViewState } from 'sql/workbench/common/editor/query/modelViewState'; export class ResultsViewState { public readonly gridPanelState: GridPanelState = new GridPanelState(); @@ -21,7 +21,7 @@ export class ResultsViewState { public readonly topOperationsState = new TopOperationsState(); public readonly dynamicModelViewTabsState: Map = new Map(); - public activeTab: string; + public activeTab?: string; public readonly visibleTabs: Set = new Set(); dispose() { diff --git a/src/sql/workbench/contrib/queryPlan/common/topOperationsState.ts b/src/sql/workbench/common/editor/query/topOperationsState.ts similarity index 96% rename from src/sql/workbench/contrib/queryPlan/common/topOperationsState.ts rename to src/sql/workbench/common/editor/query/topOperationsState.ts index 434169b7dd..0ef4645d20 100644 --- a/src/sql/workbench/contrib/queryPlan/common/topOperationsState.ts +++ b/src/sql/workbench/common/editor/query/topOperationsState.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ export class TopOperationsState { - xml: string; + xml?: string; dispose() { } diff --git a/src/sql/workbench/contrib/query/common/untitledQueryEditorInput.ts b/src/sql/workbench/common/editor/query/untitledQueryEditorInput.ts similarity index 90% rename from src/sql/workbench/contrib/query/common/untitledQueryEditorInput.ts rename to src/sql/workbench/common/editor/query/untitledQueryEditorInput.ts index 31e3612bf1..8e6f4d8151 100644 --- a/src/sql/workbench/contrib/query/common/untitledQueryEditorInput.ts +++ b/src/sql/workbench/common/editor/query/untitledQueryEditorInput.ts @@ -3,8 +3,8 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IQueryModelService } from 'sql/workbench/services/query/common/queryModel'; @@ -45,7 +45,7 @@ export class UntitledQueryEditorInput extends QueryEditorInput implements IEncod this.text.setMode(mode); } - public getMode(): string { + public getMode(): string | undefined { return this.text.getMode(); } @@ -53,7 +53,7 @@ export class UntitledQueryEditorInput extends QueryEditorInput implements IEncod return UntitledQueryEditorInput.ID; } - public getEncoding(): string { + public getEncoding(): string | undefined { return this.text.getEncoding(); } diff --git a/src/sql/workbench/contrib/accounts/test/browser/accountDialogController.test.ts b/src/sql/workbench/contrib/accounts/test/browser/accountDialogController.test.ts index 6e33dea445..50ec51fc49 100644 --- a/src/sql/workbench/contrib/accounts/test/browser/accountDialogController.test.ts +++ b/src/sql/workbench/contrib/accounts/test/browser/accountDialogController.test.ts @@ -6,13 +6,13 @@ import * as assert from 'assert'; import * as TypeMoq from 'typemoq'; import { Emitter } from 'vs/base/common/event'; -import { AccountDialog } from 'sql/workbench/contrib/accounts/browser/accountDialog'; -import { AccountDialogController } from 'sql/workbench/contrib/accounts/browser/accountDialogController'; +import { AccountDialog } from 'sql/workbench/services/accountManagement/browser/accountDialog'; +import { AccountDialogController } from 'sql/workbench/services/accountManagement/browser/accountDialogController'; import { AccountViewModel } from 'sql/platform/accounts/common/accountViewModel'; import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; -import { AccountListRenderer } from 'sql/workbench/contrib/accounts/browser/accountListRenderer'; +import { AccountListRenderer } from 'sql/workbench/services/accountManagement/browser/accountListRenderer'; import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; // TESTS /////////////////////////////////////////////////////////////////// diff --git a/src/sql/workbench/contrib/accounts/test/browser/autoOAuthDialogController.test.ts b/src/sql/workbench/contrib/accounts/test/browser/autoOAuthDialogController.test.ts index 28d776d60a..03874915b5 100644 --- a/src/sql/workbench/contrib/accounts/test/browser/autoOAuthDialogController.test.ts +++ b/src/sql/workbench/contrib/accounts/test/browser/autoOAuthDialogController.test.ts @@ -8,8 +8,8 @@ import * as assert from 'assert'; import { Emitter } from 'vs/base/common/event'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; -import { AutoOAuthDialog } from 'sql/workbench/contrib/accounts/browser/autoOAuthDialog'; -import { AutoOAuthDialogController } from 'sql/workbench/contrib/accounts/browser/autoOAuthDialogController'; +import { AutoOAuthDialog } from 'sql/workbench/services/accountManagement/browser/autoOAuthDialog'; +import { AutoOAuthDialogController } from 'sql/workbench/services/accountManagement/browser/autoOAuthDialogController'; import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; diff --git a/src/sql/workbench/contrib/backup/browser/backup.component.ts b/src/sql/workbench/contrib/backup/browser/backup.component.ts index 510379fc96..daeee97af2 100644 --- a/src/sql/workbench/contrib/backup/browser/backup.component.ts +++ b/src/sql/workbench/contrib/backup/browser/backup.component.ts @@ -18,7 +18,7 @@ import { IBackupService, TaskExecutionMode } from 'sql/platform/backup/common/ba import * as FileValidationConstants from 'sql/workbench/services/fileBrowser/common/fileValidationServiceConstants'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IFileBrowserDialogController } from 'sql/workbench/services/fileBrowser/common/fileBrowserDialogController'; -import { IBackupUiService } from 'sql/workbench/services/backup/common/backupUiService'; +import { IBackupUiService } from 'sql/workbench/contrib/backup/common/backupUiService'; import * as cr from 'vs/platform/theme/common/colorRegistry'; import { MessageType } from 'vs/base/browser/ui/inputbox/inputBox'; @@ -33,6 +33,7 @@ import { KeyCode } from 'vs/base/common/keyCodes'; import { ITheme } from 'vs/platform/theme/common/themeService'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { SIDE_BAR_BACKGROUND } from 'vs/workbench/common/theme'; +import { fileFiltersSet } from 'sql/workbench/services/restore/common/constants'; export const BACKUP_SELECTOR: string = 'backup-component'; @@ -654,7 +655,7 @@ export class BackupComponent extends AngularDisposable { private onAddClick(): void { this.fileBrowserDialogService.showDialog(this._uri, this.defaultNewBackupFolder, - BackupConstants.fileFiltersSet, + fileFiltersSet, FileValidationConstants.backup, false, (filepath => this.handlePathAdded(filepath))); diff --git a/src/sql/workbench/contrib/backup/browser/backup.contribution.ts b/src/sql/workbench/contrib/backup/browser/backup.contribution.ts index 52600a2a82..7726877f65 100644 --- a/src/sql/workbench/contrib/backup/browser/backup.contribution.ts +++ b/src/sql/workbench/contrib/backup/browser/backup.contribution.ts @@ -14,10 +14,10 @@ import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/ import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; import { localize } from 'vs/nls'; -import { OEAction } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; -import { TreeNodeContextKey } from 'sql/workbench/contrib/objectExplorer/common/treeNodeContextKey'; +import { OEAction } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; +import { TreeNodeContextKey } from 'sql/workbench/services/objectExplorer/common/treeNodeContextKey'; import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; -import { ServerInfoContextKey } from 'sql/workbench/contrib/connection/common/serverInfoContextKey'; +import { ServerInfoContextKey } from 'sql/workbench/services/connection/common/serverInfoContextKey'; import { ServicesAccessor, IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { DatabaseEngineEdition } from 'sql/workbench/api/common/sqlExtHostTypes'; diff --git a/src/sql/workbench/contrib/backup/browser/backupActions.ts b/src/sql/workbench/contrib/backup/browser/backupActions.ts index 1fa8ffc885..f82a1c5824 100644 --- a/src/sql/workbench/contrib/backup/browser/backupActions.ts +++ b/src/sql/workbench/contrib/backup/browser/backupActions.ts @@ -13,7 +13,7 @@ import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/br import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { getCurrentGlobalConnection } from 'sql/workbench/browser/taskUtilities'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; -import { IBackupUiService } from 'sql/workbench/services/backup/common/backupUiService'; +import { IBackupUiService } from 'sql/workbench/contrib/backup/common/backupUiService'; import { Task } from 'sql/workbench/services/tasks/browser/tasksRegistry'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; diff --git a/src/sql/workbench/services/backup/browser/backupUiService.ts b/src/sql/workbench/contrib/backup/browser/backupUiService.ts similarity index 98% rename from src/sql/workbench/services/backup/browser/backupUiService.ts rename to src/sql/workbench/contrib/backup/browser/backupUiService.ts index 6c972702c8..a88dfffd29 100644 --- a/src/sql/workbench/services/backup/browser/backupUiService.ts +++ b/src/sql/workbench/contrib/backup/browser/backupUiService.ts @@ -16,7 +16,7 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/con import { BackupDialog } from 'sql/workbench/contrib/backup/browser/backupDialog'; import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog'; import { IBackupService, TaskExecutionMode } from 'sql/platform/backup/common/backupService'; -import { IBackupUiService } from 'sql/workbench/services/backup/common/backupUiService'; +import { IBackupUiService } from 'sql/workbench/contrib/backup/common/backupUiService'; import { find } from 'vs/base/common/arrays'; export class BackupUiService implements IBackupUiService { diff --git a/src/sql/workbench/services/backup/common/backupUiService.ts b/src/sql/workbench/contrib/backup/common/backupUiService.ts similarity index 100% rename from src/sql/workbench/services/backup/common/backupUiService.ts rename to src/sql/workbench/contrib/backup/common/backupUiService.ts diff --git a/src/sql/workbench/contrib/backup/common/constants.ts b/src/sql/workbench/contrib/backup/common/constants.ts index c7a71f6a70..fa60e8815e 100644 --- a/src/sql/workbench/contrib/backup/common/constants.ts +++ b/src/sql/workbench/contrib/backup/common/constants.ts @@ -43,7 +43,3 @@ export const tripleDES = 'Triple DES'; export const serverCertificate = localize('backup.serverCertificate', "Server Certificate"); export const asymmetricKey = localize('backup.asymmetricKey', "Asymmetric Key"); -export const fileFiltersSet: { label: string, filters: string[] }[] = [ - { label: localize('backup.filterBackupFiles', "Backup Files"), filters: ['*.bak', '*.trn', '*.log'] }, - { label: localize('backup.allFiles', "All Files"), filters: ['*'] } -]; diff --git a/src/sql/workbench/contrib/charts/browser/actions.ts b/src/sql/workbench/contrib/charts/browser/actions.ts index c647c4d299..6066477338 100644 --- a/src/sql/workbench/contrib/charts/browser/actions.ts +++ b/src/sql/workbench/contrib/charts/browser/actions.ts @@ -14,7 +14,7 @@ import { URI } from 'vs/base/common/uri'; 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 { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; import { IFileService } from 'vs/platform/files/common/files'; import { IFileDialogService, FileFilter } from 'vs/platform/dialogs/common/dialogs'; import { VSBuffer } from 'vs/base/common/buffer'; diff --git a/src/sql/workbench/contrib/charts/browser/chartView.ts b/src/sql/workbench/contrib/charts/browser/chartView.ts index 7df8a20a84..8a9f9f4db8 100644 --- a/src/sql/workbench/contrib/charts/browser/chartView.ts +++ b/src/sql/workbench/contrib/charts/browser/chartView.ts @@ -23,7 +23,8 @@ import { isUndefinedOrNull } from 'vs/base/common/types'; import { CreateInsightAction, CopyAction, SaveImageAction, IChartActionContext } from 'sql/workbench/contrib/charts/browser/actions'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; import { Checkbox } from 'sql/base/browser/ui/checkbox/checkbox'; -import { ChartState, IInsightOptions, ChartType } from 'sql/workbench/contrib/charts/common/interfaces'; +import { IInsightOptions, ChartType } from 'sql/workbench/contrib/charts/common/interfaces'; +import { ChartState } from 'sql/workbench/common/editor/query/chartState'; import * as nls from 'vs/nls'; import { find } from 'vs/base/common/arrays'; import { INotificationService } from 'vs/platform/notification/common/notification'; diff --git a/src/sql/workbench/contrib/charts/common/interfaces.ts b/src/sql/workbench/contrib/charts/common/interfaces.ts index 5cf3736207..c25eba8312 100644 --- a/src/sql/workbench/contrib/charts/common/interfaces.ts +++ b/src/sql/workbench/contrib/charts/common/interfaces.ts @@ -3,17 +3,6 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -export class ChartState { - dataId?: { batchId: number, resultId: number }; - options: IInsightOptions = { - type: ChartType.Bar - }; - - dispose() { - - } -} - export interface IInsightOptions { type: InsightType | ChartType; dataDirection?: DataDirection; diff --git a/src/sql/workbench/contrib/commandLine/electron-browser/commandLine.ts b/src/sql/workbench/contrib/commandLine/electron-browser/commandLine.ts index 9024c8ee68..a71c6c75e1 100644 --- a/src/sql/workbench/contrib/commandLine/electron-browser/commandLine.ts +++ b/src/sql/workbench/contrib/commandLine/electron-browser/commandLine.ts @@ -18,7 +18,7 @@ import { ipcRenderer as ipc } from 'electron'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { localize } from 'vs/nls'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; import { URI } from 'vs/base/common/uri'; import { ILogService } from 'vs/platform/log/common/log'; import { INotificationService } from 'vs/platform/notification/common/notification'; diff --git a/src/sql/workbench/contrib/connection/browser/connection.contribution.ts b/src/sql/workbench/contrib/connection/browser/connection.contribution.ts index caa72d545f..ffc1adaf84 100644 --- a/src/sql/workbench/contrib/connection/browser/connection.contribution.ts +++ b/src/sql/workbench/contrib/connection/browser/connection.contribution.ts @@ -5,8 +5,8 @@ import { IConfigurationRegistry, Extensions as ConfigExtensions } from 'vs/platform/configuration/common/configurationRegistry'; import { Registry } from 'vs/platform/registry/common/platform'; -import { AddServerGroupAction, AddServerAction } from 'sql/workbench/contrib/objectExplorer/browser/connectionTreeAction'; -import { ClearRecentConnectionsAction, GetCurrentConnectionStringAction } from 'sql/workbench/contrib/connection/browser/connectionActions'; +import { AddServerGroupAction, AddServerAction } from 'sql/workbench/services/objectExplorer/browser/connectionTreeAction'; +import { ClearRecentConnectionsAction, GetCurrentConnectionStringAction } from 'sql/workbench/services/connection/browser/connectionActions'; import * as azdata from 'azdata'; import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actions'; import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; diff --git a/src/sql/workbench/contrib/connection/test/browser/advancedPropertiesDialog.test.ts b/src/sql/workbench/contrib/connection/test/browser/advancedPropertiesDialog.test.ts index c5bada3901..f59daa0c8c 100644 --- a/src/sql/workbench/contrib/connection/test/browser/advancedPropertiesDialog.test.ts +++ b/src/sql/workbench/contrib/connection/test/browser/advancedPropertiesDialog.test.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog'; -import { AdvancedPropertiesController } from 'sql/workbench/contrib/connection/browser/advancedPropertiesController'; +import { AdvancedPropertiesController } from 'sql/workbench/services/connection/browser/advancedPropertiesController'; import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; diff --git a/src/sql/workbench/contrib/dashboard/browser/core/actions.ts b/src/sql/workbench/contrib/dashboard/browser/core/actions.ts index 9be47aeb60..b32d3b7a1d 100644 --- a/src/sql/workbench/contrib/dashboard/browser/core/actions.ts +++ b/src/sql/workbench/contrib/dashboard/browser/core/actions.ts @@ -10,7 +10,7 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { IAngularEventingService, AngularEventType, IAngularEvent } from 'sql/platform/angularEventing/browser/angularEventingService'; import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog'; -import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; import { find, firstIndex } from 'vs/base/common/arrays'; import { CellContext } from 'sql/workbench/contrib/notebook/browser/cellViews/codeActions'; diff --git a/src/sql/workbench/contrib/dashboard/browser/core/dashboardPage.component.ts b/src/sql/workbench/contrib/dashboard/browser/core/dashboardPage.component.ts index 9f795ccd5d..48bb8e7e61 100644 --- a/src/sql/workbench/contrib/dashboard/browser/core/dashboardPage.component.ts +++ b/src/sql/workbench/contrib/dashboard/browser/core/dashboardPage.component.ts @@ -13,7 +13,8 @@ import { CommonServiceInterface, SingleConnectionManagementService } from 'sql/w import { WidgetConfig, TabConfig, TabSettingConfig } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget'; import { IPropertiesConfig } from 'sql/workbench/contrib/dashboard/browser/pages/serverDashboardPage.contribution'; import { PanelComponent } from 'sql/base/browser/ui/panel/panel.component'; -import { IDashboardRegistry, Extensions as DashboardExtensions, IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardRegistry, Extensions as DashboardExtensions } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; import { PinUnpinTabAction, AddFeatureTabAction } from './actions'; import { TabComponent, TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { AngularEventType, IAngularEventingService } from 'sql/platform/angularEventing/browser/angularEventingService'; diff --git a/src/sql/workbench/contrib/dashboard/browser/core/dashboardWidget.ts b/src/sql/workbench/contrib/dashboard/browser/core/dashboardWidget.ts index 8abbd1c858..4067109265 100644 --- a/src/sql/workbench/contrib/dashboard/browser/core/dashboardWidget.ts +++ b/src/sql/workbench/contrib/dashboard/browser/core/dashboardWidget.ts @@ -7,7 +7,7 @@ import { InjectionToken, OnDestroy } from '@angular/core'; import { NgGridItemConfig } from 'angular2-grid'; import { Action } from 'vs/base/common/actions'; import { Disposable } from 'vs/base/common/lifecycle'; -import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; export interface IDashboardWidget { actions: Array; diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboard.contribution.ts b/src/sql/workbench/contrib/dashboard/browser/dashboard.contribution.ts index 64ea022826..b86d3936b5 100644 --- a/src/sql/workbench/contrib/dashboard/browser/dashboard.contribution.ts +++ b/src/sql/workbench/contrib/dashboard/browser/dashboard.contribution.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { DashboardEditor } from 'sql/workbench/contrib/dashboard/browser/dashboardEditor'; -import { DashboardInput } from 'sql/workbench/contrib/dashboard/browser/dashboardInput'; +import { DashboardInput } from 'sql/workbench/browser/editor/profiler/dashboardInput'; import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { EditorDescriptor, IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/browser/editor'; @@ -17,7 +17,7 @@ import { SERVER_DASHBOARD_PROPERTIES, serverDashboardPropertiesSchema, SERVER_DA import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; -import { TreeNodeContextKey } from 'sql/workbench/contrib/objectExplorer/common/treeNodeContextKey'; +import { TreeNodeContextKey } from 'sql/workbench/services/objectExplorer/common/treeNodeContextKey'; import { DE_MANAGE_COMMAND_ID, OE_MANAGE_COMMAND_ID } from 'sql/workbench/contrib/dashboard/browser/dashboardActions'; const configurationRegistry = Registry.as(Extensions.Configuration); diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboardActions.ts b/src/sql/workbench/contrib/dashboard/browser/dashboardActions.ts index e604d72a6d..f188b7d897 100644 --- a/src/sql/workbench/contrib/dashboard/browser/dashboardActions.ts +++ b/src/sql/workbench/contrib/dashboard/browser/dashboardActions.ts @@ -11,11 +11,11 @@ import { generateUri } from 'sql/platform/connection/common/utils'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { localize } from 'vs/nls'; import { Action } from 'vs/base/common/actions'; -import { TreeSelectionHandler } from 'sql/workbench/contrib/objectExplorer/browser/treeSelectionHandler'; -import { ObjectExplorerActionsContext, getTreeNode } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeSelectionHandler } from 'sql/workbench/services/objectExplorer/browser/treeSelectionHandler'; +import { ObjectExplorerActionsContext, getTreeNode } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { IViewsService } from 'vs/workbench/common/views'; diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboardEditor.ts b/src/sql/workbench/contrib/dashboard/browser/dashboardEditor.ts index 22d79718a2..7a48f3ce0c 100644 --- a/src/sql/workbench/contrib/dashboard/browser/dashboardEditor.ts +++ b/src/sql/workbench/contrib/dashboard/browser/dashboardEditor.ts @@ -11,7 +11,7 @@ import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/work import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; -import { DashboardInput } from './dashboardInput'; +import { DashboardInput } from 'sql/workbench/browser/editor/profiler/dashboardInput'; import { DashboardModule } from './dashboard.module'; import { bootstrapAngular } from 'sql/workbench/services/bootstrap/browser/bootstrapService'; import { IDashboardComponentParams } from 'sql/workbench/services/bootstrap/common/bootstrapParams'; diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboardRegistry.ts b/src/sql/workbench/contrib/dashboard/browser/dashboardRegistry.ts index c3e4842d56..5a3be5f132 100644 --- a/src/sql/workbench/contrib/dashboard/browser/dashboardRegistry.ts +++ b/src/sql/workbench/contrib/dashboard/browser/dashboardRegistry.ts @@ -14,23 +14,12 @@ import { DATABASE_DASHBOARD_TABS } from 'sql/workbench/contrib/dashboard/browser import { SERVER_DASHBOARD_TABS } from 'sql/workbench/contrib/dashboard/browser/pages/serverDashboardPage.contribution'; import { DASHBOARD_CONFIG_ID, DASHBOARD_TABS_KEY_PROPERTY } from 'sql/workbench/contrib/dashboard/browser/pages/dashboardPageContribution'; import { find } from 'vs/base/common/arrays'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; export const Extensions = { DashboardContributions: 'dashboard.contributions' }; -export interface IDashboardTab { - id: string; - title: string; - provider: string | string[]; - publisher: string; - description?: string; - container?: { [key: string]: any }; - when?: string; - alwaysShow?: boolean; - isHomeTab?: boolean; -} - export interface IDashboardRegistry { registerDashboardProvider(id: string, properties: ProviderProperties): void; getProperties(id: string): ProviderProperties; diff --git a/src/sql/workbench/contrib/dashboard/browser/services/dashboardServiceInterface.service.ts b/src/sql/workbench/contrib/dashboard/browser/services/dashboardServiceInterface.service.ts index d737cb09f2..ea16c442d9 100644 --- a/src/sql/workbench/contrib/dashboard/browser/services/dashboardServiceInterface.service.ts +++ b/src/sql/workbench/contrib/dashboard/browser/services/dashboardServiceInterface.service.ts @@ -14,7 +14,7 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/con import { IAdminService } from 'sql/workbench/services/admin/common/adminService'; import { IQueryManagementService } from 'sql/workbench/services/query/common/queryManagement'; import { AngularEventType, IAngularEvent, IAngularEventingService } from 'sql/platform/angularEventing/browser/angularEventingService'; -import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; import { TabSettingConfig } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; diff --git a/src/sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerWidget.component.ts b/src/sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerWidget.component.ts index f6ed9559c9..7750e4cb11 100644 --- a/src/sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerWidget.component.ts +++ b/src/sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerWidget.component.ts @@ -3,7 +3,6 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!sql/media/objectTypes/objecttypes'; import 'vs/css!sql/media/icons/common-icons'; import 'vs/css!./media/explorerWidget'; diff --git a/src/sql/workbench/contrib/dataExplorer/browser/connectionViewletPanel.ts b/src/sql/workbench/contrib/dataExplorer/browser/connectionViewletPanel.ts index 37987f704e..29af49de6e 100644 --- a/src/sql/workbench/contrib/dataExplorer/browser/connectionViewletPanel.ts +++ b/src/sql/workbench/contrib/dataExplorer/browser/connectionViewletPanel.ts @@ -15,7 +15,7 @@ import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/ser import { ActiveConnectionsFilterAction, AddServerAction, AddServerGroupAction -} from 'sql/workbench/contrib/objectExplorer/browser/connectionTreeAction'; +} from 'sql/workbench/services/objectExplorer/browser/connectionTreeAction'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { ITree } from 'vs/base/parts/tree/browser/tree'; @@ -55,7 +55,7 @@ export class ConnectionViewletPanel extends ViewPane { this._addServerGroupAction = this.instantiationService.createInstance(AddServerGroupAction, AddServerGroupAction.ID, AddServerGroupAction.LABEL); - this._serverTreeView = this.objectExplorerService.getServerTreeView(); + this._serverTreeView = this.objectExplorerService.getServerTreeView() as ServerTreeView; if (!this._serverTreeView) { this._serverTreeView = this.instantiationService.createInstance(ServerTreeView); this.objectExplorerService.registerServerTreeView(this._serverTreeView); diff --git a/src/sql/workbench/contrib/editData/browser/editData.contribution.ts b/src/sql/workbench/contrib/editData/browser/editData.contribution.ts index d8a2a783ef..8be3021052 100644 --- a/src/sql/workbench/contrib/editData/browser/editData.contribution.ts +++ b/src/sql/workbench/contrib/editData/browser/editData.contribution.ts @@ -4,9 +4,9 @@ *--------------------------------------------------------------------------------------------*/ import { EditDataEditor } from 'sql/workbench/contrib/editData/browser/editDataEditor'; -import { EditDataInput } from 'sql/workbench/contrib/editData/browser/editDataInput'; +import { EditDataInput } from 'sql/workbench/browser/editData/editDataInput'; import { EditDataResultsEditor } from 'sql/workbench/contrib/editData/browser/editDataResultsEditor'; -import { EditDataResultsInput } from 'sql/workbench/contrib/editData/browser/editDataResultsInput'; +import { EditDataResultsInput } from 'sql/workbench/browser/editData/editDataResultsInput'; import { EditorDescriptor, IEditorRegistry, Extensions } from 'vs/workbench/browser/editor'; import { Registry } from 'vs/platform/registry/common/platform'; import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; diff --git a/src/sql/workbench/contrib/editData/browser/editDataEditor.ts b/src/sql/workbench/contrib/editData/browser/editDataEditor.ts index 716b72c530..9031ffc8c4 100644 --- a/src/sql/workbench/contrib/editData/browser/editDataEditor.ts +++ b/src/sql/workbench/contrib/editData/browser/editDataEditor.ts @@ -14,7 +14,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { EditDataInput } from 'sql/workbench/contrib/editData/browser/editDataInput'; +import { EditDataInput } from 'sql/workbench/browser/editData/editDataInput'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import * as queryContext from 'sql/workbench/contrib/query/common/queryContext'; @@ -32,7 +32,7 @@ import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/c import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput'; import { IFlexibleSash, HorizontalFlexibleSash } from 'sql/workbench/contrib/query/browser/flexibleSash'; import { EditDataResultsEditor } from 'sql/workbench/contrib/editData/browser/editDataResultsEditor'; -import { EditDataResultsInput } from 'sql/workbench/contrib/editData/browser/editDataResultsInput'; +import { EditDataResultsInput } from 'sql/workbench/browser/editData/editDataResultsInput'; import { CancellationToken } from 'vs/base/common/cancellation'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { IEditorGroup } from 'vs/workbench/services/editor/common/editorGroupsService'; @@ -274,7 +274,7 @@ export class EditDataEditor extends BaseEditor { if (!input.results.container) { this._resultsEditorContainer = DOM.append(parentElement, DOM.$('.editDataContainer-horizontal')); - input.results.container = this._resultsEditorContainer; + input.results.setContainer(this._resultsEditorContainer); } else { this._resultsEditorContainer = DOM.append(parentElement, input.results.container); } diff --git a/src/sql/workbench/contrib/editData/browser/editDataResultsEditor.ts b/src/sql/workbench/contrib/editData/browser/editDataResultsEditor.ts index f7fe6ef06c..2c723231a1 100644 --- a/src/sql/workbench/contrib/editData/browser/editDataResultsEditor.ts +++ b/src/sql/workbench/contrib/editData/browser/editDataResultsEditor.ts @@ -17,7 +17,7 @@ import * as types from 'vs/base/common/types'; import { IQueryModelService } from 'sql/workbench/services/query/common/queryModel'; import { BareResultsGridInfo, getBareResultsGridInfoStyles } from 'sql/workbench/contrib/query/browser/queryResultsEditor'; import { EditDataGridPanel } from 'sql/workbench/contrib/editData/browser/editDataGridPanel'; -import { EditDataResultsInput } from 'sql/workbench/contrib/editData/browser/editDataResultsInput'; +import { EditDataResultsInput } from 'sql/workbench/browser/editData/editDataResultsInput'; import { CancellationToken } from 'vs/base/common/cancellation'; import { IStorageService } from 'vs/platform/storage/common/storage'; diff --git a/src/sql/workbench/contrib/editorReplacement/test/common/editorReplacerContribution.test.ts b/src/sql/workbench/contrib/editorReplacement/test/common/editorReplacerContribution.test.ts index ba96c76146..d4376e90c8 100644 --- a/src/sql/workbench/contrib/editorReplacement/test/common/editorReplacerContribution.test.ts +++ b/src/sql/workbench/contrib/editorReplacement/test/common/editorReplacerContribution.test.ts @@ -17,7 +17,7 @@ import { IEditorInput, EditorInput } from 'vs/workbench/common/editor'; import { ITextEditorOptions, IEditorOptions } from 'vs/platform/editor/common/editor'; import { IEditorGroup } from 'vs/workbench/services/editor/common/editorGroupsService'; import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; import { Registry } from 'vs/platform/registry/common/platform'; import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; import { QueryEditorLanguageAssociation } from 'sql/workbench/contrib/query/common/queryInputFactory'; @@ -25,7 +25,7 @@ import { workbenchInstantiationService } from 'sql/workbench/test/workbenchTestS import { NotebookEditorInputAssociation } from 'sql/workbench/contrib/notebook/common/models/nodebookInputFactory'; import { NotebookInput } from 'sql/workbench/contrib/notebook/browser/models/notebookInput'; import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput'; -import { UntitledQueryEditorInput } from 'sql/workbench/contrib/query/common/untitledQueryEditorInput'; +import { UntitledQueryEditorInput } from 'sql/workbench/common/editor/query/untitledQueryEditorInput'; import { INotebookService } from 'sql/workbench/services/notebook/browser/notebookService'; import { NotebookServiceStub } from 'sql/workbench/contrib/notebook/test/stubs'; import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/common/untitledTextEditorService'; diff --git a/src/sql/workbench/contrib/jobManagement/browser/alertsView.component.ts b/src/sql/workbench/contrib/jobManagement/browser/alertsView.component.ts index 38f1451f48..8228a61ab5 100644 --- a/src/sql/workbench/contrib/jobManagement/browser/alertsView.component.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/alertsView.component.ts @@ -13,7 +13,7 @@ import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { Table } from 'sql/base/browser/ui/table/table'; import { AgentViewComponent } from 'sql/workbench/contrib/jobManagement/browser/agentView.component'; import { IJobManagementService } from 'sql/workbench/services/jobManagement/common/interfaces'; -import { EditAlertAction, DeleteAlertAction, NewAlertAction } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { EditAlertAction, DeleteAlertAction, NewAlertAction } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { JobManagementView } from 'sql/workbench/contrib/jobManagement/browser/jobManagementView'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; import { ICommandService } from 'vs/platform/commands/common/commands'; diff --git a/src/sql/workbench/services/jobManagement/browser/jobActions.ts b/src/sql/workbench/contrib/jobManagement/browser/jobActions.ts similarity index 99% rename from src/sql/workbench/services/jobManagement/browser/jobActions.ts rename to src/sql/workbench/contrib/jobManagement/browser/jobActions.ts index 363ce59da1..9daf0a781d 100644 --- a/src/sql/workbench/services/jobManagement/browser/jobActions.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/jobActions.ts @@ -9,7 +9,7 @@ import * as azdata from 'azdata'; import { INotificationService } from 'vs/platform/notification/common/notification'; import Severity from 'vs/base/common/severity'; import { JobHistoryComponent } from 'sql/workbench/contrib/jobManagement/browser/jobHistory.component'; -import { IJobManagementService } from '../common/interfaces'; +import { IJobManagementService } from '../../../services/jobManagement/common/interfaces'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { JobsViewComponent } from 'sql/workbench/contrib/jobManagement/browser/jobsView.component'; import { AlertsViewComponent } from 'sql/workbench/contrib/jobManagement/browser/alertsView.component'; diff --git a/src/sql/workbench/contrib/jobManagement/browser/jobHistory.component.ts b/src/sql/workbench/contrib/jobManagement/browser/jobHistory.component.ts index 95ec46af11..53867d9a6d 100644 --- a/src/sql/workbench/contrib/jobManagement/browser/jobHistory.component.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/jobHistory.component.ts @@ -12,7 +12,7 @@ import { OnInit, Component, Inject, Input, forwardRef, ElementRef, ChangeDetecto import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; import { AgentViewComponent } from 'sql/workbench/contrib/jobManagement/browser/agentView.component'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; -import { RunJobAction, StopJobAction, EditJobAction, JobsRefreshAction } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { RunJobAction, StopJobAction, EditJobAction, JobsRefreshAction } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { JobCacheObject } from 'sql/workbench/services/jobManagement/common/jobManagementService'; import { JobManagementUtilities } from 'sql/workbench/services/jobManagement/browser/jobManagementUtilities'; import { IJobManagementService } from 'sql/workbench/services/jobManagement/common/interfaces'; diff --git a/src/sql/workbench/contrib/jobManagement/browser/jobManagementView.ts b/src/sql/workbench/contrib/jobManagement/browser/jobManagementView.ts index 2a903b1464..5ea0e89ba1 100644 --- a/src/sql/workbench/contrib/jobManagement/browser/jobManagementView.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/jobManagementView.ts @@ -14,7 +14,7 @@ import { IContextMenuService } from 'vs/platform/contextview/browser/contextView import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; -import { JobsRefreshAction, IJobActionInfo } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { JobsRefreshAction, IJobActionInfo } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; import { ITableMouseEvent } from 'sql/base/browser/ui/table/interfaces'; diff --git a/src/sql/workbench/contrib/jobManagement/browser/jobsView.component.ts b/src/sql/workbench/contrib/jobManagement/browser/jobsView.component.ts index 051e89b120..1cb52d2080 100644 --- a/src/sql/workbench/contrib/jobManagement/browser/jobsView.component.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/jobsView.component.ts @@ -14,7 +14,7 @@ import { Table } from 'sql/base/browser/ui/table/table'; import { AgentViewComponent } from 'sql/workbench/contrib/jobManagement/browser/agentView.component'; import { RowDetailView } from 'sql/base/browser/ui/table/plugins/rowDetailView'; import { JobCacheObject } from 'sql/workbench/services/jobManagement/common/jobManagementService'; -import { EditJobAction, DeleteJobAction, NewJobAction, RunJobAction } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { EditJobAction, DeleteJobAction, NewJobAction, RunJobAction } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { JobManagementUtilities } from 'sql/workbench/services/jobManagement/browser/jobManagementUtilities'; import { HeaderFilter } from 'sql/base/browser/ui/table/plugins/headerFilter.plugin'; import { IJobManagementService } from 'sql/workbench/services/jobManagement/common/interfaces'; diff --git a/src/sql/workbench/contrib/jobManagement/browser/notebookHistory.component.ts b/src/sql/workbench/contrib/jobManagement/browser/notebookHistory.component.ts index 90d3957279..6672193e2a 100644 --- a/src/sql/workbench/contrib/jobManagement/browser/notebookHistory.component.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/notebookHistory.component.ts @@ -12,7 +12,7 @@ import { OnInit, Component, Inject, Input, forwardRef, ElementRef, ChangeDetecto import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; import { AgentViewComponent } from 'sql/workbench/contrib/jobManagement/browser/agentView.component'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; -import { RunJobAction, StopJobAction, JobsRefreshAction, EditNotebookJobAction, OpenMaterializedNotebookAction, OpenTemplateNotebookAction, RenameNotebookMaterializedAction, PinNotebookMaterializedAction, UnpinNotebookMaterializedAction, DeleteMaterializedNotebookAction } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { RunJobAction, StopJobAction, JobsRefreshAction, EditNotebookJobAction, OpenMaterializedNotebookAction, OpenTemplateNotebookAction, RenameNotebookMaterializedAction, PinNotebookMaterializedAction, UnpinNotebookMaterializedAction, DeleteMaterializedNotebookAction } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { NotebookCacheObject } from 'sql/workbench/services/jobManagement/common/jobManagementService'; import { IJobManagementService } from 'sql/workbench/services/jobManagement/common/interfaces'; import { JobStepsViewRow } from 'sql/workbench/contrib/jobManagement/browser/jobStepsViewTree'; diff --git a/src/sql/workbench/contrib/jobManagement/browser/notebooksView.component.ts b/src/sql/workbench/contrib/jobManagement/browser/notebooksView.component.ts index f0f2700290..a57b45ce2a 100644 --- a/src/sql/workbench/contrib/jobManagement/browser/notebooksView.component.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/notebooksView.component.ts @@ -14,7 +14,7 @@ import { Table } from 'sql/base/browser/ui/table/table'; import { AgentViewComponent } from 'sql/workbench/contrib/jobManagement/browser/agentView.component'; import { RowDetailView } from 'sql/base/browser/ui/table/plugins/rowDetailView'; import { NotebookCacheObject } from 'sql/workbench/services/jobManagement/common/jobManagementService'; -import { NewNotebookJobAction, RunJobAction, EditNotebookJobAction, JobsRefreshAction, IJobActionInfo, DeleteNotebookAction, OpenLatestRunMaterializedNotebook } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { NewNotebookJobAction, RunJobAction, EditNotebookJobAction, JobsRefreshAction, IJobActionInfo, DeleteNotebookAction, OpenLatestRunMaterializedNotebook } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { JobManagementUtilities } from 'sql/workbench/services/jobManagement/browser/jobManagementUtilities'; import { HeaderFilter } from 'sql/base/browser/ui/table/plugins/headerFilter.plugin'; import { IJobManagementService } from 'sql/workbench/services/jobManagement/common/interfaces'; diff --git a/src/sql/workbench/contrib/jobManagement/browser/operatorsView.component.ts b/src/sql/workbench/contrib/jobManagement/browser/operatorsView.component.ts index 555deff2ea..58246b4ca1 100644 --- a/src/sql/workbench/contrib/jobManagement/browser/operatorsView.component.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/operatorsView.component.ts @@ -12,7 +12,7 @@ import { Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild import { Table } from 'sql/base/browser/ui/table/table'; import { AgentViewComponent } from 'sql/workbench/contrib/jobManagement/browser/agentView.component'; import { IJobManagementService } from 'sql/workbench/services/jobManagement/common/interfaces'; -import { EditOperatorAction, DeleteOperatorAction, NewOperatorAction } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { EditOperatorAction, DeleteOperatorAction, NewOperatorAction } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { JobManagementView } from 'sql/workbench/contrib/jobManagement/browser/jobManagementView'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; diff --git a/src/sql/workbench/contrib/jobManagement/browser/proxiesView.component.ts b/src/sql/workbench/contrib/jobManagement/browser/proxiesView.component.ts index ffd8fe1512..ca6fd1868f 100644 --- a/src/sql/workbench/contrib/jobManagement/browser/proxiesView.component.ts +++ b/src/sql/workbench/contrib/jobManagement/browser/proxiesView.component.ts @@ -12,7 +12,7 @@ import { Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild import { Table } from 'sql/base/browser/ui/table/table'; import { AgentViewComponent } from 'sql/workbench/contrib/jobManagement/browser/agentView.component'; import { IJobManagementService } from 'sql/workbench/services/jobManagement/common/interfaces'; -import { EditProxyAction, DeleteProxyAction, NewProxyAction } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { EditProxyAction, DeleteProxyAction, NewProxyAction } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { JobManagementView } from 'sql/workbench/contrib/jobManagement/browser/jobManagementView'; diff --git a/src/sql/workbench/contrib/notebook/browser/cellToggleMoreActions.ts b/src/sql/workbench/contrib/notebook/browser/cellToggleMoreActions.ts index 8269b04f71..33f8c7402b 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellToggleMoreActions.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellToggleMoreActions.ts @@ -15,10 +15,10 @@ import * as DOM from 'vs/base/browser/dom'; import { INotebookService } from 'sql/workbench/services/notebook/browser/notebookService'; import { CellActionBase, CellContext } from 'sql/workbench/contrib/notebook/browser/cellViews/codeActions'; import { CellTypes, CellType } from 'sql/workbench/services/notebook/common/contracts'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { ToggleMoreWidgetAction } from 'sql/workbench/contrib/dashboard/browser/core/actions'; -import { CellModel } from 'sql/workbench/contrib/notebook/browser/models/cell'; +import { CellModel } from 'sql/workbench/services/notebook/browser/models/cell'; import { Action } from 'vs/base/common/actions'; import { firstIndex } from 'vs/base/common/arrays'; diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/code.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/code.component.ts index 9cd45a590e..686986daa3 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/code.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/code.component.ts @@ -8,10 +8,10 @@ import { OnInit, Component, Input, Inject, ElementRef, ViewChild, Output, EventE import { QueryTextEditor } from 'sql/workbench/browser/modelComponents/queryTextEditor'; import { CellToggleMoreActions } from 'sql/workbench/contrib/notebook/browser/cellToggleMoreActions'; -import { ICellModel, notebookConstants, CellExecutionState } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel, CellExecutionState } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; import { RunCellAction, CellContext } from 'sql/workbench/contrib/notebook/browser/cellViews/codeActions'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import * as themeColors from 'vs/workbench/common/theme'; @@ -24,7 +24,6 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur import { Event, Emitter } from 'vs/base/common/event'; import { CellTypes } from 'sql/workbench/services/notebook/common/contracts'; import { OVERRIDE_EDITOR_THEMING_SETTING } from 'sql/workbench/services/notebook/browser/notebookService'; -import * as notebookUtils from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ILogService } from 'vs/platform/log/common/log'; import { CollapseComponent } from 'sql/workbench/contrib/notebook/browser/cellViews/collapse.component'; @@ -35,6 +34,8 @@ import { UntitledTextEditorModel } from 'vs/workbench/services/untitled/common/u import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { IEditorProgressService } from 'vs/platform/progress/common/progress'; import { SimpleProgressIndicator } from 'sql/workbench/services/progress/browser/simpleProgressIndicator'; +import { notebookConstants } from 'sql/workbench/services/notebook/browser/interfaces'; +import { tryMatchCellMagic } from 'sql/workbench/services/notebook/browser/utils'; export const CODE_SELECTOR: string = 'code-component'; const MARKDOWN_CLASS = 'markdown'; @@ -305,7 +306,7 @@ export class CodeComponent extends CellView implements OnInit, OnChanges { } if (this._editorModel && this._editor && this._editorModel.getLineCount() > 1) { // Only try to match once we've typed past the first line - let magicName = notebookUtils.tryMatchCellMagic(this._editorModel.getLineContent(1)); + let magicName = tryMatchCellMagic(this._editorModel.getLineContent(1)); if (magicName) { let kernelName = this._model.clientSession && this._model.clientSession.kernel ? this._model.clientSession.kernel.name : undefined; let magic = this._model.notebookOptions.cellMagicMapper.toLanguageMagic(magicName, kernelName); diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/codeActions.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/codeActions.ts index c54c14a781..01c21f2b58 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/codeActions.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/codeActions.ts @@ -9,8 +9,8 @@ import { IDisposable } from 'vs/base/common/lifecycle'; import * as types from 'vs/base/common/types'; import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; -import { ICellModel, CellExecutionState } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; +import { ICellModel, CellExecutionState } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { ILogService } from 'vs/platform/log/common/log'; diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/codeCell.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/codeCell.component.ts index 643000f921..55a5b398ab 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/codeCell.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/codeCell.component.ts @@ -6,8 +6,8 @@ import { nb } from 'azdata'; import { OnInit, Component, Input, Inject, forwardRef, ChangeDetectorRef, SimpleChange, OnChanges, HostListener, ViewChildren, QueryList } from '@angular/core'; import { CellView } from 'sql/workbench/contrib/notebook/browser/cellViews/interfaces'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; import { Deferred } from 'sql/base/common/promise'; import { ICellEditorProvider } from 'sql/workbench/services/notebook/browser/notebookService'; import { CodeComponent } from 'sql/workbench/contrib/notebook/browser/cellViews/code.component'; diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.ts index ea42532455..6a9ef95efa 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.ts @@ -6,7 +6,7 @@ import 'vs/css!./code'; import { OnInit, Component, Input, ElementRef, ViewChild, SimpleChange, OnChanges } from '@angular/core'; import { CellView } from 'sql/workbench/contrib/notebook/browser/cellViews/interfaces'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { localize } from 'vs/nls'; export const COLLAPSE_SELECTOR: string = 'collapse-component'; diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/interfaces.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/interfaces.ts index b626212df4..f3d3b5fce2 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/interfaces.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/interfaces.ts @@ -5,9 +5,8 @@ import { OnDestroy } from '@angular/core'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; -import { ICellEditorProvider } from 'sql/workbench/services/notebook/browser/notebookService'; +import { ICellEditorProvider, NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor'; -import { NotebookRange } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; export abstract class CellView extends AngularDisposable implements OnDestroy, ICellEditorProvider { constructor() { diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/output.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/output.component.ts index 1e3f48bf10..e470db738e 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/output.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/output.component.ts @@ -8,7 +8,7 @@ import 'vs/css!./media/output'; import { OnInit, Component, Input, Inject, ElementRef, ViewChild, SimpleChange, AfterViewInit, forwardRef, ChangeDetectorRef, ComponentRef, ComponentFactoryResolver } from '@angular/core'; import { Event } from 'vs/base/common/event'; import { nb } from 'azdata'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import * as outputProcessor from 'sql/workbench/contrib/notebook/browser/models/outputProcessor'; import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService'; import * as DOM from 'vs/base/browser/dom'; diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/outputArea.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/outputArea.component.ts index 5739d763c0..e535071f23 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/outputArea.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/outputArea.component.ts @@ -6,7 +6,7 @@ import 'vs/css!./code'; import 'vs/css!./outputArea'; import { OnInit, Component, Input, Inject, ElementRef, ViewChild, forwardRef, ChangeDetectorRef } from '@angular/core'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import * as themeColors from 'vs/workbench/common/theme'; import { IWorkbenchThemeService, IColorTheme } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { URI } from 'vs/base/common/uri'; diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/placeholderCell.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/placeholderCell.component.ts index f8d69c5663..74a9f58a0c 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/placeholderCell.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/placeholderCell.component.ts @@ -6,8 +6,8 @@ import 'vs/css!./placeholder'; import { OnInit, Component, Input, Inject, forwardRef, ChangeDetectorRef, SimpleChange, OnChanges } from '@angular/core'; import { CellView } from 'sql/workbench/contrib/notebook/browser/cellViews/interfaces'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; import { localize } from 'vs/nls'; import { CellType } from 'sql/workbench/services/notebook/common/contracts'; diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/stdin.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/stdin.component.ts index bc46af8530..d1feb2e69e 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/stdin.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/stdin.component.ts @@ -23,7 +23,7 @@ import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; import { attachInputBoxStyler } from 'sql/platform/theme/common/styler'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { Deferred } from 'sql/base/common/promise'; -import { ICellModel, CellExecutionState } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel, CellExecutionState } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; export const STDIN_SELECTOR: string = 'stdin-component'; @Component({ diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/textCell.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/textCell.component.ts index 7d7c8c92a1..ba96a423d4 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/textCell.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/textCell.component.ts @@ -20,13 +20,13 @@ import { toDisposable } from 'vs/base/common/lifecycle'; import { IMarkdownRenderResult } from 'vs/editor/contrib/markdown/markdownRenderer'; import { NotebookMarkdownRenderer } from 'sql/workbench/contrib/notebook/browser/outputs/notebookMarkdown'; import { CellView } from 'sql/workbench/contrib/notebook/browser/cellViews/interfaces'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; -import { ISanitizer, defaultSanitizer } from 'sql/workbench/contrib/notebook/browser/outputs/sanitizer'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; +import { ISanitizer, defaultSanitizer } from 'sql/workbench/services/notebook/browser/outputs/sanitizer'; import { CellToggleMoreActions } from 'sql/workbench/contrib/notebook/browser/cellToggleMoreActions'; -import { NotebookRange } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; import { CodeComponent } from 'sql/workbench/contrib/notebook/browser/cellViews/code.component'; import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor'; +import { NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; export const TEXT_SELECTOR: string = 'text-cell-component'; const USER_SELECT_CLASS = 'actionselect'; diff --git a/src/sql/workbench/contrib/notebook/browser/models/cellMagicMapper.ts b/src/sql/workbench/contrib/notebook/browser/models/cellMagicMapper.ts index c9ee71d99b..c3425890ee 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/cellMagicMapper.ts +++ b/src/sql/workbench/contrib/notebook/browser/models/cellMagicMapper.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ICellMagicMapper } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellMagicMapper } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { ILanguageMagic } from 'sql/workbench/services/notebook/browser/notebookService'; import { find } from 'vs/base/common/arrays'; diff --git a/src/sql/workbench/contrib/notebook/browser/models/notebookFindModel.ts b/src/sql/workbench/contrib/notebook/browser/models/notebookFindModel.ts new file mode 100644 index 0000000000..f120241c0e --- /dev/null +++ b/src/sql/workbench/contrib/notebook/browser/models/notebookFindModel.ts @@ -0,0 +1,51 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { Event } from 'vs/base/common/event'; +import { IModelDecorationsChangeAccessor } from 'vs/editor/common/model'; +import { NotebookFindMatch } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; +import { NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; + +export interface INotebookFindModel { + /** Get the find count */ + getFindCount(): number; + /** Get the find index */ + getFindIndex(): number; + /** find the next match */ + findNext(): Promise; + /** find the previous match */ + findPrevious(): Promise; + /** search the notebook model for the given exp up to maxMatch occurances */ + find(exp: string, matchCase?: boolean, wholeWord?: boolean, maxMatches?: number): Promise; + /** clear the results of the find */ + clearFind(): void; + /** return the find results with their ranges */ + findArray: NotebookRange[]; + /** + * Get the range associated with a decoration. + * @param id The decoration id. + * @return The decoration range or null if the decoration was not found. + */ + getDecorationRange(id: string): NotebookRange | null; + /** + * Get the range associated with a decoration. + * @param callback that accepts changeAccessor which applies the decorations + * @param ownerId the owner id + * @return The decoration range or null if the decoration was not found. + */ + changeDecorations(callback: (changeAccessor: IModelDecorationsChangeAccessor) => T, ownerId: number): T | null; + /** + * Get the maximum legal column for line at `lineNumber` + */ + getLineMaxColumn(lineNumber: number): number; + /** + * Get the number of lines in the model. + */ + getLineCount(): number; + findMatches: NotebookFindMatch[]; + findExpression: string; + /** Emit event when the find count changes */ + onFindCountChange: Event; +} diff --git a/src/sql/workbench/contrib/notebook/browser/models/notebookInput.ts b/src/sql/workbench/contrib/notebook/browser/models/notebookInput.ts index 87a3864ae6..0cc5b1e452 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/notebookInput.ts +++ b/src/sql/workbench/contrib/notebook/browser/models/notebookInput.ts @@ -9,11 +9,11 @@ import { URI } from 'vs/base/common/uri'; import * as resources from 'vs/base/common/resources'; import * as azdata from 'azdata'; -import { IStandardKernelWithProvider, getProvidersForFileName, getStandardKernelsForProvider } from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; +import { IStandardKernelWithProvider, getProvidersForFileName, getStandardKernelsForProvider } from 'sql/workbench/services/notebook/browser/models/notebookUtils'; import { INotebookService, DEFAULT_NOTEBOOK_PROVIDER, IProviderInfo } from 'sql/workbench/services/notebook/browser/notebookService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ITextModelService } from 'vs/editor/common/services/resolverService'; -import { INotebookModel, IContentManager, NotebookContentChange } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { INotebookModel, IContentManager, NotebookContentChange } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel'; import { Schemas } from 'vs/base/common/network'; import { ITextFileSaveOptions, ITextFileEditorModel } from 'vs/workbench/services/textfile/common/textfiles'; diff --git a/src/sql/workbench/contrib/notebook/browser/models/notebookTextFileModel.ts b/src/sql/workbench/contrib/notebook/browser/models/notebookTextFileModel.ts index a0cf75d853..8cd40dfeff 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/notebookTextFileModel.ts +++ b/src/sql/workbench/contrib/notebook/browser/models/notebookTextFileModel.ts @@ -5,7 +5,7 @@ import { Range, IRange } from 'vs/editor/common/core/range'; import { FindMatch } from 'vs/editor/common/model'; -import { NotebookContentChange, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { NotebookContentChange, INotebookModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { NotebookChangeType } from 'sql/workbench/services/notebook/common/contracts'; import { repeat } from 'vs/base/common/strings'; import { ITextEditorModel } from 'vs/workbench/common/editor'; diff --git a/src/sql/workbench/contrib/notebook/browser/models/outputProcessor.ts b/src/sql/workbench/contrib/notebook/browser/models/outputProcessor.ts index 42c8762341..ad920fce6c 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/outputProcessor.ts +++ b/src/sql/workbench/contrib/notebook/browser/models/outputProcessor.ts @@ -4,10 +4,10 @@ | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ -import { MimeModel } from './mimemodel'; import { nb } from 'azdata'; import { JSONObject, isPrimitive } from 'sql/workbench/services/notebook/common/jsonext'; import { nbformat } from 'sql/workbench/services/notebook/common/nbformat'; +import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel'; /** * A multiline string. diff --git a/src/sql/workbench/contrib/notebook/browser/notebook.component.ts b/src/sql/workbench/contrib/notebook/browser/notebook.component.ts index ea7cd03806..763f1f9e86 100644 --- a/src/sql/workbench/contrib/notebook/browser/notebook.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/notebook.component.ts @@ -22,12 +22,12 @@ import * as DOM from 'vs/base/browser/dom'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { CellTypes, CellType, NotebookChangeType } from 'sql/workbench/services/notebook/common/contracts'; -import { ICellModel, IModelFactory, INotebookModel, NotebookContentChange } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel, IModelFactory, INotebookModel, NotebookContentChange } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { INotebookService, INotebookParams, INotebookManager, INotebookEditor, DEFAULT_NOTEBOOK_PROVIDER, SQL_NOTEBOOK_PROVIDER, INotebookSection, INavigationProvider, ICellEditorProvider } from 'sql/workbench/services/notebook/browser/notebookService'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; -import { ModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelFactory'; -import * as notebookUtils from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; +import { INotebookService, INotebookParams, INotebookManager, INotebookEditor, DEFAULT_NOTEBOOK_PROVIDER, SQL_NOTEBOOK_PROVIDER, INotebookSection, INavigationProvider, ICellEditorProvider, NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; +import { ModelFactory } from 'sql/workbench/services/notebook/browser/models/modelFactory'; +import * as notebookUtils from 'sql/workbench/services/notebook/browser/models/notebookUtils'; import { Deferred } from 'sql/base/common/promise'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; @@ -36,7 +36,7 @@ import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHos import { IConnectionDialogService } from 'sql/workbench/services/connection/common/connectionDialogService'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { CellMagicMapper } from 'sql/workbench/contrib/notebook/browser/models/cellMagicMapper'; -import { CellModel } from 'sql/workbench/contrib/notebook/browser/models/cell'; +import { CellModel } from 'sql/workbench/services/notebook/browser/models/cell'; import { FileOperationError, FileOperationResult } from 'vs/platform/files/common/files'; import { isValidBasename } from 'vs/base/common/extpath'; import { basename } from 'vs/base/common/resources'; @@ -53,7 +53,7 @@ import { getErrorMessage, onUnexpectedError } from 'vs/base/common/errors'; import { find, firstIndex } from 'vs/base/common/arrays'; import { CodeCellComponent } from 'sql/workbench/contrib/notebook/browser/cellViews/codeCell.component'; import { TextCellComponent } from 'sql/workbench/contrib/notebook/browser/cellViews/textCell.component'; -import { NotebookRange } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; +import { NotebookInput } from 'sql/workbench/contrib/notebook/browser/models/notebookInput'; export const NOTEBOOK_SELECTOR: string = 'notebook-component'; @@ -261,7 +261,7 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe let editors = this.editorService.visibleControls; for (let editor of editors) { if (editor && editor.input.getResource() === this._notebookParams.input.notebookUri) { - await editor.group.closeEditor(this._notebookParams.input, { preserveFocus: true }); + await editor.group.closeEditor(this._notebookParams.input as NotebookInput, { preserveFocus: true }); // sketchy break; } } @@ -532,12 +532,12 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe } isActive(): boolean { - return this.editorService.activeEditor === this.notebookParams.input; + return this.editorService.activeEditor.matches(this.notebookParams.input); } isVisible(): boolean { let notebookEditor = this.notebookParams.input; - return this.editorService.visibleEditors.some(e => e === notebookEditor); + return this.editorService.visibleEditors.some(e => e.matches(notebookEditor)); } isDirty(): boolean { diff --git a/src/sql/workbench/contrib/notebook/browser/notebook.contribution.ts b/src/sql/workbench/contrib/notebook/browser/notebook.contribution.ts index cb60e3615b..7ad062751b 100644 --- a/src/sql/workbench/contrib/notebook/browser/notebook.contribution.ts +++ b/src/sql/workbench/contrib/notebook/browser/notebook.contribution.ts @@ -34,14 +34,17 @@ import { mssqlProviderName } from 'sql/platform/connection/common/constants'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { TreeViewItemHandleArg } from 'sql/workbench/common/views'; import { ConnectedContext } from 'azdata'; -import { TreeNodeContextKey } from 'sql/workbench/contrib/objectExplorer/common/treeNodeContextKey'; -import { ObjectExplorerActionsContext } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; +import { TreeNodeContextKey } from 'sql/workbench/services/objectExplorer/common/treeNodeContextKey'; +import { ObjectExplorerActionsContext } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; import { ItemContextKey } from 'sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerTreeContext'; import { ManageActionContext } from 'sql/workbench/browser/actions'; import { IHostService } from 'vs/workbench/services/host/browser/host'; import { MarkdownOutputComponent } from 'sql/workbench/contrib/notebook/browser/outputs/markdownOutput.component'; import { registerCellComponent } from 'sql/platform/notebooks/common/outputRegistry'; import { TextCellComponent } from 'sql/workbench/contrib/notebook/browser/cellViews/textCell.component'; +import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; +import { NotebookThemingContribution } from 'sql/workbench/contrib/notebook/browser/notebookThemingContribution'; +import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; Registry.as(EditorInputFactoryExtensions.EditorInputFactories) .registerEditorInputFactory(FileNotebookInput.ID, FileNoteBookEditorInputFactory); @@ -55,6 +58,8 @@ Registry.as(LanguageAssociationExtensions.Language Registry.as(EditorExtensions.Editors) .registerEditor(new EditorDescriptor(NotebookEditor, NotebookEditor.ID, localize('notebookEditor.name', "Notebook Editor")), [new SyncDescriptor(UntitledNotebookInput), new SyncDescriptor(FileNotebookInput)]); +Registry.as(WorkbenchExtensions.Workbench) + .registerWorkbenchContribution(NotebookThemingContribution, LifecyclePhase.Restored); // Global Actions const actionRegistry = Registry.as(WorkbenchActionsExtensions.WorkbenchActions); diff --git a/src/sql/workbench/contrib/notebook/browser/notebookActions.ts b/src/sql/workbench/contrib/notebook/browser/notebookActions.ts index 1276f59c6e..cd2aa2c88f 100644 --- a/src/sql/workbench/contrib/notebook/browser/notebookActions.ts +++ b/src/sql/workbench/contrib/notebook/browser/notebookActions.ts @@ -16,15 +16,15 @@ import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilit import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { noKernel } from 'sql/workbench/services/notebook/browser/sessionManager'; import { IConnectionDialogService } from 'sql/workbench/services/connection/common/connectionDialogService'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { CellType } from 'sql/workbench/services/notebook/common/contracts'; import { getErrorMessage } from 'vs/base/common/errors'; import { IEditorAction } from 'vs/editor/common/editorCommon'; import { IFindNotebookController } from 'sql/workbench/contrib/notebook/find/notebookFindWidget'; -import { INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { INotebookModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { find, firstIndex } from 'vs/base/common/arrays'; import { INotebookEditor } from 'sql/workbench/services/notebook/browser/notebookService'; diff --git a/src/sql/workbench/contrib/notebook/browser/notebookEditor.ts b/src/sql/workbench/contrib/notebook/browser/notebookEditor.ts index 7088f7eec2..fdff70be4e 100644 --- a/src/sql/workbench/contrib/notebook/browser/notebookEditor.ts +++ b/src/sql/workbench/contrib/notebook/browser/notebookEditor.ts @@ -14,7 +14,7 @@ import { CancellationToken } from 'vs/base/common/cancellation'; import { NotebookInput } from 'sql/workbench/contrib/notebook/browser/models/notebookInput'; import { NotebookModule } from 'sql/workbench/contrib/notebook/browser/notebook.module'; import { NOTEBOOK_SELECTOR } from 'sql/workbench/contrib/notebook/browser/notebook.component'; -import { INotebookParams, INotebookService } from 'sql/workbench/services/notebook/browser/notebookService'; +import { INotebookParams, INotebookService, NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { ACTION_IDS, NOTEBOOK_MAX_MATCHES, IFindNotebookController, FindWidget, IConfigurationChangedEvent } from 'sql/workbench/contrib/notebook/find/notebookFindWidget'; import { IOverlayWidget } from 'vs/editor/browser/editorBrowser'; @@ -26,10 +26,11 @@ import { NotebookFindNextAction, NotebookFindPreviousAction } from 'sql/workbenc import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; -import { INotebookModel, INotebookFindModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { INotebookModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { INotebookFindModel } from 'sql/workbench/contrib/notebook/browser/models/notebookFindModel'; import { IDisposable, DisposableStore, dispose } from 'vs/base/common/lifecycle'; import { IModelDecorationsChangeAccessor, IModelDeltaDecoration } from 'vs/editor/common/model'; -import { NotebookFindDecorations, NotebookRange } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; +import { NotebookFindDecorations } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; import { TimeoutTimer } from 'vs/base/common/async'; import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor'; import { onUnexpectedError } from 'vs/base/common/errors'; diff --git a/src/sql/workbench/contrib/notebook/browser/notebookThemingContribution.ts b/src/sql/workbench/contrib/notebook/browser/notebookThemingContribution.ts new file mode 100644 index 0000000000..d2778ce2eb --- /dev/null +++ b/src/sql/workbench/contrib/notebook/browser/notebookThemingContribution.ts @@ -0,0 +1,45 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { IWorkbenchContribution } from 'vs/workbench/common/contributions'; +import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; +import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; +import { OVERRIDE_EDITOR_THEMING_SETTING } from 'sql/workbench/services/notebook/browser/notebookService'; +import { registerNotebookThemes } from 'sql/workbench/contrib/notebook/browser/notebookStyles'; + +export class NotebookThemingContribution extends Disposable implements IWorkbenchContribution { + private themeParticipant?: IDisposable; + private overrideEditorThemeSetting?: boolean; + + constructor(@IConfigurationService private readonly configurationService: IConfigurationService) { + super(); + this.hookNotebookThemesAndConfigListener(); + } + + private hookNotebookThemesAndConfigListener(): void { + if (this.configurationService) { + this.updateNotebookThemes(); + this._register(this.configurationService.onDidChangeConfiguration(e => { + if (e.affectsConfiguration(OVERRIDE_EDITOR_THEMING_SETTING) + || e.affectsConfiguration('resultsGrid')) { + this.updateNotebookThemes(); + } + })); + } + } + + private updateNotebookThemes() { + let overrideEditorSetting = this.configurationService.getValue(OVERRIDE_EDITOR_THEMING_SETTING); + if (overrideEditorSetting !== this.overrideEditorThemeSetting) { + // Re-add the participant since this will trigger update of theming rules, can't just + // update something and ask to change + if (this.themeParticipant) { + this.themeParticipant.dispose(); + } + this.overrideEditorThemeSetting = overrideEditorSetting; + this.themeParticipant = registerNotebookThemes(overrideEditorSetting, this.configurationService); + } + } +} diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/gridOutput.component.ts b/src/sql/workbench/contrib/notebook/browser/outputs/gridOutput.component.ts index 5e96b68d31..92a8bd79b0 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/gridOutput.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/outputs/gridOutput.component.ts @@ -22,9 +22,9 @@ import { localize } from 'vs/nls'; import { IAction } from 'vs/base/common/actions'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { IMimeComponent } from 'sql/workbench/contrib/notebook/browser/outputs/mimeRegistry'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; -import { MimeModel } from 'sql/workbench/contrib/notebook/browser/models/mimemodel'; -import { GridTableState } from 'sql/workbench/contrib/query/common/gridPanelState'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel'; +import { GridTableState } from 'sql/workbench/common/editor/query/gridPanelState'; import { GridTableBase } from 'sql/workbench/contrib/query/browser/gridPanel'; import { getErrorMessage } from 'vs/base/common/errors'; import { ISerializationService, SerializeDataParams } from 'sql/platform/serialization/common/serializationService'; diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/markdownOutput.component.ts b/src/sql/workbench/contrib/notebook/browser/outputs/markdownOutput.component.ts index d9b261962a..7ddf110c8f 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/markdownOutput.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/outputs/markdownOutput.component.ts @@ -12,8 +12,8 @@ import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { IMimeComponent } from 'sql/workbench/contrib/notebook/browser/outputs/mimeRegistry'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { NotebookMarkdownRenderer } from 'sql/workbench/contrib/notebook/browser/outputs/notebookMarkdown'; -import { MimeModel } from 'sql/workbench/contrib/notebook/browser/models/mimemodel'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { URI } from 'vs/base/common/uri'; @Component({ diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/mimeRegistry.ts b/src/sql/workbench/contrib/notebook/browser/outputs/mimeRegistry.ts index 5d5abb364d..f631fc650b 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/mimeRegistry.ts +++ b/src/sql/workbench/contrib/notebook/browser/outputs/mimeRegistry.ts @@ -6,9 +6,9 @@ import { Type } from '@angular/core'; import * as platform from 'vs/platform/registry/common/platform'; import { ReadonlyJSONObject } from 'sql/workbench/services/notebook/common/jsonext'; -import { MimeModel } from 'sql/workbench/contrib/notebook/browser/models/mimemodel'; +import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel'; import * as types from 'vs/base/common/types'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { values } from 'vs/base/common/collections'; export type FactoryIdentifier = string; diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/mimeRenderer.component.ts b/src/sql/workbench/contrib/notebook/browser/outputs/mimeRenderer.component.ts index d6fa96d383..685f175dff 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/mimeRenderer.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/outputs/mimeRenderer.component.ts @@ -6,9 +6,9 @@ import { IMimeComponent } from 'sql/workbench/contrib/notebook/browser/outputs/mimeRegistry'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { ElementRef, forwardRef, Inject, Component, OnInit, Input } from '@angular/core'; -import { MimeModel } from 'sql/workbench/contrib/notebook/browser/models/mimemodel'; +import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel'; import { INotebookService } from 'sql/workbench/services/notebook/browser/notebookService'; -import { RenderMimeRegistry } from 'sql/workbench/contrib/notebook/browser/outputs/registry'; +import { RenderMimeRegistry } from 'sql/workbench/services/notebook/browser/outputs/registry'; import { localize } from 'vs/nls'; @Component({ diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/plotlyOutput.component.ts b/src/sql/workbench/contrib/notebook/browser/outputs/plotlyOutput.component.ts index fbed0c63c2..09ae08d587 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/plotlyOutput.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/outputs/plotlyOutput.component.ts @@ -9,8 +9,8 @@ import { localize } from 'vs/nls'; import * as types from 'vs/base/common/types'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { IMimeComponent } from 'sql/workbench/contrib/notebook/browser/outputs/mimeRegistry'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; -import { MimeModel } from 'sql/workbench/contrib/notebook/browser/models/mimemodel'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel'; import { getErrorMessage } from 'vs/base/common/errors'; type ObjectType = object; diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/renderers.ts b/src/sql/workbench/contrib/notebook/browser/outputs/renderers.ts index f2e7a670b8..f0640fa891 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/renderers.ts +++ b/src/sql/workbench/contrib/notebook/browser/outputs/renderers.ts @@ -4,7 +4,7 @@ |----------------------------------------------------------------------------*/ import { default as AnsiUp } from 'ansi_up'; -import { IRenderMime } from '../models/renderMimeInterfaces'; +import { IRenderMime } from 'sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces'; import { URLExt } from '../../common/models/url'; import { URI } from 'vs/base/common/uri'; diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/widgets.ts b/src/sql/workbench/contrib/notebook/browser/outputs/widgets.ts index 2500f5e027..700cfded1e 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/widgets.ts +++ b/src/sql/workbench/contrib/notebook/browser/outputs/widgets.ts @@ -5,9 +5,9 @@ import * as renderers from './renderers'; import { Deferred } from 'sql/base/common/promise'; -import { IRenderMime } from 'sql/workbench/contrib/notebook/browser/models/renderMimeInterfaces'; import { ReadonlyJSONObject } from 'sql/workbench/services/notebook/common/jsonext'; import * as tableRenderers from 'sql/workbench/contrib/notebook/browser/outputs/tableRenderers'; +import type { IRenderMime } from 'sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces'; /** * A common base class for mime renderers. diff --git a/src/sql/workbench/contrib/notebook/find/notebookFindDecorations.ts b/src/sql/workbench/contrib/notebook/find/notebookFindDecorations.ts index 043dc7d9a6..749aedc714 100644 --- a/src/sql/workbench/contrib/notebook/find/notebookFindDecorations.ts +++ b/src/sql/workbench/contrib/notebook/find/notebookFindDecorations.ts @@ -9,9 +9,9 @@ import { ModelDecorationOptions } from 'vs/editor/common/model/textModel'; import { overviewRulerFindMatchForeground, minimapFindMatch } from 'vs/platform/theme/common/colorRegistry'; import { themeColorFromId } from 'vs/platform/theme/common/themeService'; import { NotebookEditor } from 'sql/workbench/contrib/notebook/browser/notebookEditor'; -import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; import { Range } from 'vs/editor/common/core/range'; import { ScrollType } from 'vs/editor/common/editorCommon'; +import { NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; export class NotebookFindDecorations implements IDisposable { @@ -297,18 +297,6 @@ export class NotebookFindDecorations implements IDisposable { }); } -export class NotebookRange extends Range { - updateActiveCell(cell: ICellModel) { - this.cell = cell; - } - cell: ICellModel; - - constructor(cell: ICellModel, startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number) { - super(startLineNumber, startColumn, endLineNumber, endColumn); - this.updateActiveCell(cell); - } -} - export class NotebookFindMatch extends FindMatch { _findMatchBrand: void; diff --git a/src/sql/workbench/contrib/notebook/find/notebookFindModel.ts b/src/sql/workbench/contrib/notebook/find/notebookFindModel.ts index 511c537b38..d07d552f49 100644 --- a/src/sql/workbench/contrib/notebook/find/notebookFindModel.ts +++ b/src/sql/workbench/contrib/notebook/find/notebookFindModel.ts @@ -4,10 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import { Disposable } from 'vs/base/common/lifecycle'; -import { INotebookFindModel, ICellModel, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel, INotebookModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { INotebookFindModel } from 'sql/workbench/contrib/notebook/browser/models/notebookFindModel'; import { Event, Emitter } from 'vs/base/common/event'; import * as types from 'vs/base/common/types'; -import { NotebookRange, NotebookFindMatch, NotebookFindDecorations } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; +import { NotebookFindMatch, NotebookFindDecorations } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; import * as model from 'vs/editor/common/model'; import { ModelDecorationOptions, DidChangeDecorationsEmitter, createTextBuffer } from 'vs/editor/common/model/textModel'; import { IModelDecorationsChangedEvent } from 'vs/editor/common/model/textModelEvents'; @@ -19,10 +20,11 @@ import { singleLetterHash, isHighSurrogate } from 'vs/base/common/strings'; import { Command, ServicesAccessor } from 'vs/editor/browser/editorExtensions'; import { NotebookEditor } from 'sql/workbench/contrib/notebook/browser/notebookEditor'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { NOTEBOOK_COMMAND_SEARCH, NotebookEditorVisibleContext } from 'sql/workbench/services/notebook/common/notebookContext'; -import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; +import { NOTEBOOK_COMMAND_SEARCH } from 'sql/workbench/services/notebook/common/notebookContext'; import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; +import { ActiveEditorContext } from 'vs/workbench/common/editor'; +import { NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; function _normalizeOptions(options: model.IModelDecorationOptions): ModelDecorationOptions { if (options instanceof ModelDecorationOptions) { @@ -678,7 +680,7 @@ class SearchNotebookCommand extends SettingsCommand { export const findCommand = new SearchNotebookCommand({ id: NOTEBOOK_COMMAND_SEARCH, - precondition: ContextKeyExpr.and(NotebookEditorVisibleContext), + precondition: ActiveEditorContext.isEqualTo(NotebookEditor.ID), kbOpts: { primary: KeyMod.CtrlCmd | KeyCode.KEY_F, weight: KeybindingWeight.EditorContrib diff --git a/src/sql/workbench/contrib/notebook/test/browser/notebookActions.test.ts b/src/sql/workbench/contrib/notebook/test/browser/notebookActions.test.ts index 18550ba6f4..7f2ba32007 100644 --- a/src/sql/workbench/contrib/notebook/test/browser/notebookActions.test.ts +++ b/src/sql/workbench/contrib/notebook/test/browser/notebookActions.test.ts @@ -9,7 +9,7 @@ import * as assert from 'assert'; import { AddCellAction, ClearAllOutputsAction, CollapseCellsAction, TrustedAction, RunAllCellsAction, NewNotebookAction } from 'sql/workbench/contrib/notebook/browser/notebookActions'; import { CellType } from 'sql/workbench/services/notebook/common/contracts'; import { INotebookEditor } from 'sql/workbench/services/notebook/browser/notebookService'; -import { ICellModel, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel, INotebookModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { INotificationService } from 'vs/platform/notification/common/notification'; import { TestNotificationService } from 'vs/platform/notification/test/common/testNotificationService'; import { ICommandService } from 'vs/platform/commands/common/commands'; diff --git a/src/sql/workbench/contrib/notebook/test/browser/notebookContexts.test.ts b/src/sql/workbench/contrib/notebook/test/browser/notebookContexts.test.ts index acc89f2ba7..be0689c9e5 100644 --- a/src/sql/workbench/contrib/notebook/test/browser/notebookContexts.test.ts +++ b/src/sql/workbench/contrib/notebook/test/browser/notebookContexts.test.ts @@ -5,7 +5,7 @@ import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; -import { NotebookContexts } from 'sql/workbench/contrib/notebook/browser/models/notebookContexts'; +import { NotebookContexts } from 'sql/workbench/services/notebook/browser/models/notebookContexts'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { TestConnectionManagementService } from 'sql/platform/connection/test/common/testConnectionManagementService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; diff --git a/src/sql/workbench/contrib/notebook/test/browser/notebookEditorModel.test.ts b/src/sql/workbench/contrib/notebook/test/browser/notebookEditorModel.test.ts index 0021362af1..a6646bd145 100644 --- a/src/sql/workbench/contrib/notebook/test/browser/notebookEditorModel.test.ts +++ b/src/sql/workbench/contrib/notebook/test/browser/notebookEditorModel.test.ts @@ -9,12 +9,12 @@ import * as assert from 'assert'; import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { ConnectionManagementService } from 'sql/workbench/services/connection/browser/connectionManagementService'; -import { CellModel } from 'sql/workbench/contrib/notebook/browser/models/cell'; +import { CellModel } from 'sql/workbench/services/notebook/browser/models/cell'; import { CellTypes, NotebookChangeType } from 'sql/workbench/services/notebook/common/contracts'; -import { ModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelFactory'; -import { INotebookModelOptions, NotebookContentChange, ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ModelFactory } from 'sql/workbench/services/notebook/browser/models/modelFactory'; +import { INotebookModelOptions, NotebookContentChange, ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { NotebookEditorModel } from 'sql/workbench/contrib/notebook/browser/models/notebookInput'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; import { NotebookService } from 'sql/workbench/services/notebook/browser/notebookServiceImpl'; import { URI } from 'vs/base/common/uri'; import { toResource } from 'vs/base/test/common/utils'; diff --git a/src/sql/workbench/contrib/notebook/test/electron-browser/cell.test.ts b/src/sql/workbench/contrib/notebook/test/electron-browser/cell.test.ts index d7f89c64c0..e0e77cccca 100644 --- a/src/sql/workbench/contrib/notebook/test/electron-browser/cell.test.ts +++ b/src/sql/workbench/contrib/notebook/test/electron-browser/cell.test.ts @@ -10,10 +10,10 @@ import * as assert from 'assert'; import * as objects from 'vs/base/common/objects'; import { CellTypes } from 'sql/workbench/services/notebook/common/contracts'; -import { ModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelFactory'; +import { ModelFactory } from 'sql/workbench/services/notebook/browser/models/modelFactory'; import { NotebookModelStub, ClientSessionStub, KernelStub, FutureStub } from 'sql/workbench/contrib/notebook/test/stubs'; import { EmptyFuture } from 'sql/workbench/services/notebook/browser/sessionManager'; -import { ICellModel, ICellModelOptions, IClientSession, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel, ICellModelOptions, IClientSession, INotebookModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { Deferred } from 'sql/base/common/promise'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/sql/workbench/contrib/notebook/test/electron-browser/clientSession.test.ts b/src/sql/workbench/contrib/notebook/test/electron-browser/clientSession.test.ts index d797146329..1a398a7a45 100644 --- a/src/sql/workbench/contrib/notebook/test/electron-browser/clientSession.test.ts +++ b/src/sql/workbench/contrib/notebook/test/electron-browser/clientSession.test.ts @@ -11,7 +11,7 @@ import { INotificationService } from 'vs/platform/notification/common/notificati import { TestNotificationService } from 'vs/platform/notification/test/common/testNotificationService'; import { URI } from 'vs/base/common/uri'; -import { ClientSession } from 'sql/workbench/contrib/notebook/browser/models/clientSession'; +import { ClientSession } from 'sql/workbench/services/notebook/browser/models/clientSession'; import { SessionManager } from 'sql/workbench/services/notebook/browser/sessionManager'; import { NotebookManagerStub, ServerManagerStub } from 'sql/workbench/contrib/notebook/test/stubs'; import { isUndefinedOrNull } from 'vs/base/common/types'; diff --git a/src/sql/workbench/contrib/notebook/test/electron-browser/notebookFindModel.test.ts b/src/sql/workbench/contrib/notebook/test/electron-browser/notebookFindModel.test.ts index 9aa0ab04b5..3917f57ee5 100644 --- a/src/sql/workbench/contrib/notebook/test/electron-browser/notebookFindModel.test.ts +++ b/src/sql/workbench/contrib/notebook/test/electron-browser/notebookFindModel.test.ts @@ -9,13 +9,13 @@ import * as assert from 'assert'; import { URI } from 'vs/base/common/uri'; import { NotebookManagerStub } from 'sql/workbench/contrib/notebook/test/stubs'; import { CellTypes } from 'sql/workbench/services/notebook/common/contracts'; -import { IClientSession, INotebookModelOptions } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; +import { IClientSession, INotebookModelOptions } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; import { NullLogService } from 'vs/platform/log/common/log'; import { NotebookFindModel } from 'sql/workbench/contrib/notebook/find/notebookFindModel'; import { TestConnectionManagementService } from 'sql/platform/connection/test/common/testConnectionManagementService'; import { Deferred } from 'sql/base/common/promise'; -import { ModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelFactory'; +import { ModelFactory } from 'sql/workbench/services/notebook/browser/models/modelFactory'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { INotificationService } from 'vs/platform/notification/common/notification'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -24,10 +24,10 @@ import { Memento } from 'vs/workbench/common/memento'; import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; -import { ClientSession } from 'sql/workbench/contrib/notebook/browser/models/clientSession'; +import { ClientSession } from 'sql/workbench/services/notebook/browser/models/clientSession'; import { TestStorageService } from 'vs/workbench/test/browser/workbenchTestServices'; -import { NotebookRange } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; import { NotebookEditorContentManager } from 'sql/workbench/contrib/notebook/browser/models/notebookInput'; +import { NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; let expectedNotebookContent: nb.INotebookContents = { cells: [{ diff --git a/src/sql/workbench/contrib/notebook/test/electron-browser/notebookModel.test.ts b/src/sql/workbench/contrib/notebook/test/electron-browser/notebookModel.test.ts index 2300cadbe0..b062414774 100644 --- a/src/sql/workbench/contrib/notebook/test/electron-browser/notebookModel.test.ts +++ b/src/sql/workbench/contrib/notebook/test/electron-browser/notebookModel.test.ts @@ -12,10 +12,10 @@ import { TestNotificationService } from 'vs/platform/notification/test/common/te import { URI } from 'vs/base/common/uri'; import { NotebookManagerStub } from 'sql/workbench/contrib/notebook/test/stubs'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; -import { ModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelFactory'; -import { IClientSession, INotebookModelOptions, NotebookContentChange, IClientSessionOptions } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; -import { ClientSession } from 'sql/workbench/contrib/notebook/browser/models/clientSession'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; +import { ModelFactory } from 'sql/workbench/services/notebook/browser/models/modelFactory'; +import { IClientSession, INotebookModelOptions, NotebookContentChange, IClientSessionOptions } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { ClientSession } from 'sql/workbench/services/notebook/browser/models/clientSession'; import { CellTypes, NotebookChangeType } from 'sql/workbench/services/notebook/common/contracts'; import { Deferred } from 'sql/base/common/promise'; import { Memento } from 'vs/workbench/common/memento'; diff --git a/src/sql/workbench/contrib/notebook/test/electron-browser/notebookUtils.test.ts b/src/sql/workbench/contrib/notebook/test/electron-browser/notebookUtils.test.ts index 11c4516bec..d2e1364a39 100644 --- a/src/sql/workbench/contrib/notebook/test/electron-browser/notebookUtils.test.ts +++ b/src/sql/workbench/contrib/notebook/test/electron-browser/notebookUtils.test.ts @@ -7,9 +7,10 @@ import * as assert from 'assert'; import * as TypeMoq from 'typemoq'; import { nb, ServerInfo } from 'azdata'; -import { tryMatchCellMagic, getHostAndPortFromEndpoint, isStream, getProvidersForFileName, asyncForEach, clusterEndpointsProperty, getClusterEndpoints, RawEndpoint, IEndpoint, getStandardKernelsForProvider, IStandardKernelWithProvider } from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; +import { getHostAndPortFromEndpoint, isStream, getProvidersForFileName, asyncForEach, clusterEndpointsProperty, getClusterEndpoints, RawEndpoint, IEndpoint, getStandardKernelsForProvider, IStandardKernelWithProvider } from 'sql/workbench/services/notebook/browser/models/notebookUtils'; import { INotebookService, DEFAULT_NOTEBOOK_FILETYPE, DEFAULT_NOTEBOOK_PROVIDER } from 'sql/workbench/services/notebook/browser/notebookService'; import { NotebookServiceStub } from 'sql/workbench/contrib/notebook/test/stubs'; +import { tryMatchCellMagic } from 'sql/workbench/services/notebook/browser/utils'; suite('notebookUtils', function (): void { const mockNotebookService = TypeMoq.Mock.ofType(NotebookServiceStub); diff --git a/src/sql/workbench/contrib/notebook/test/stubs.ts b/src/sql/workbench/contrib/notebook/test/stubs.ts index 9deae94de8..c980e75435 100644 --- a/src/sql/workbench/contrib/notebook/test/stubs.ts +++ b/src/sql/workbench/contrib/notebook/test/stubs.ts @@ -5,15 +5,16 @@ import { nb, IConnectionProfile } from 'azdata'; import * as vsEvent from 'vs/base/common/event'; -import { INotebookModel, ICellModel, IClientSession, NotebookContentChange, IKernelPreference, INotebookFindModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { INotebookModel, ICellModel, IClientSession, NotebookContentChange, IKernelPreference } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { INotebookFindModel } from 'sql/workbench/contrib/notebook/browser/models/notebookFindModel'; import { NotebookChangeType, CellType } from 'sql/workbench/services/notebook/common/contracts'; -import { INotebookManager, INotebookService, INotebookEditor, ILanguageMagic, INotebookProvider, INavigationProvider, INotebookParams, INotebookSection, ICellEditorProvider } from 'sql/workbench/services/notebook/browser/notebookService'; +import { INotebookManager, INotebookService, INotebookEditor, ILanguageMagic, INotebookProvider, INavigationProvider, INotebookParams, INotebookSection, ICellEditorProvider, NotebookRange } from 'sql/workbench/services/notebook/browser/notebookService'; import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { IStandardKernelWithProvider } from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; +import { IStandardKernelWithProvider } from 'sql/workbench/services/notebook/browser/models/notebookUtils'; import { IModelDecorationsChangeAccessor } from 'vs/editor/common/model'; -import { NotebookRange, NotebookFindMatch } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; +import { NotebookFindMatch } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; import { URI } from 'vs/workbench/workbench.web.api'; -import { RenderMimeRegistry } from 'sql/workbench/contrib/notebook/browser/outputs/registry'; +import { RenderMimeRegistry } from 'sql/workbench/services/notebook/browser/outputs/registry'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; export class NotebookModelStub implements INotebookModel { diff --git a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts b/src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts index 43edf109c5..a8a3dc7050 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts +++ b/src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts @@ -19,28 +19,29 @@ import { append, $, hide, show } from 'vs/base/browser/dom'; import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import * as ConnectionUtils from 'sql/platform/connection/common/utils'; -import { ActiveConnectionsFilterAction } from 'sql/workbench/contrib/objectExplorer/browser/connectionTreeAction'; +import { ActiveConnectionsFilterAction } from 'sql/workbench/services/objectExplorer/browser/connectionTreeAction'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { TreeCreationUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeCreationUtils'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; -import { TreeSelectionHandler } from 'sql/workbench/contrib/objectExplorer/browser/treeSelectionHandler'; -import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; +import { TreeCreationUtils } from 'sql/workbench/services/objectExplorer/browser/treeCreationUtils'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; +import { TreeSelectionHandler } from 'sql/workbench/services/objectExplorer/browser/treeSelectionHandler'; +import { IObjectExplorerService, IServerTreeView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Button } from 'sql/base/browser/ui/button/button'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; -import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; -import { SERVER_GROUP_CONFIG, SERVER_GROUP_AUTOEXPAND_CONFIG } from 'sql/workbench/contrib/objectExplorer/common/serverGroup.contribution'; +import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/services/objectExplorer/common/treeNode'; +import { SERVER_GROUP_AUTOEXPAND_CONFIG } from 'sql/workbench/contrib/objectExplorer/common/serverGroup.contribution'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; -import { ServerTreeActionProvider } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider'; +import { ServerTreeActionProvider } from 'sql/workbench/services/objectExplorer/browser/serverTreeActionProvider'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { isHidden } from 'sql/base/browser/dom'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { startsWith } from 'vs/base/common/strings'; +import { SERVER_GROUP_CONFIG } from 'sql/workbench/services/serverGroup/common/interfaces'; /** * ServerTreeview implements the dynamic tree view. */ -export class ServerTreeView extends Disposable { +export class ServerTreeView extends Disposable implements IServerTreeView { public messages: HTMLElement; private _buttonSection: HTMLElement; @@ -121,7 +122,7 @@ export class ServerTreeView extends Disposable { /** * Render the view body */ - public renderBody(container: HTMLElement): Thenable { + public renderBody(container: HTMLElement): Promise { // Add div to display no connections found message and hide it by default this.messages = append(container, $('.title')); const messageText = append(this.messages, $('span')); @@ -267,7 +268,7 @@ export class ServerTreeView extends Disposable { } } - public deleteObjectExplorerNodeAndRefreshTree(connection: IConnectionProfile): Thenable { + public deleteObjectExplorerNodeAndRefreshTree(connection: IConnectionProfile): Promise { if (connection) { const conn = this.getConnectionInTreeInput(connection.id); if (conn) { @@ -286,7 +287,7 @@ export class ServerTreeView extends Disposable { return TreeUpdateUtils.registeredServerUpdate(this._tree, this._connectionManagementService); } - public refreshElement(element: any): Thenable { + public refreshElement(element: any): Promise { return this._tree.refresh(element); } @@ -474,7 +475,7 @@ export class ServerTreeView extends Disposable { /** * Set whether the given element is expanded or collapsed */ - public setExpandedState(element: TreeNode | ConnectionProfile, expandedState: TreeItemCollapsibleState): Thenable { + public setExpandedState(element: TreeNode | ConnectionProfile, expandedState: TreeItemCollapsibleState): Promise { if (expandedState === TreeItemCollapsibleState.Collapsed) { return this._tree.collapse(element); } else if (expandedState === TreeItemCollapsibleState.Expanded) { @@ -486,14 +487,14 @@ export class ServerTreeView extends Disposable { /** * Reveal the given element in the tree */ - public reveal(element: TreeNode | ConnectionProfile): Thenable { + public reveal(element: TreeNode | ConnectionProfile): Promise { return this._tree.reveal(element); } /** * Select the given element in the tree and clear any other selections */ - public setSelected(element: TreeNode | ConnectionProfile, selected: boolean, clearOtherSelections: boolean): Thenable { + public setSelected(element: TreeNode | ConnectionProfile, selected: boolean, clearOtherSelections: boolean): Promise { if (clearOtherSelections || (selected && clearOtherSelections !== false)) { this._tree.clearSelection(); } diff --git a/src/sql/workbench/contrib/objectExplorer/common/serverGroup.contribution.ts b/src/sql/workbench/contrib/objectExplorer/common/serverGroup.contribution.ts index 5789bbdf43..48882f1c2d 100644 --- a/src/sql/workbench/contrib/objectExplorer/common/serverGroup.contribution.ts +++ b/src/sql/workbench/contrib/objectExplorer/common/serverGroup.contribution.ts @@ -7,11 +7,10 @@ import { IConfigurationRegistry, Extensions, IConfigurationNode } from 'vs/platf import { Registry } from 'vs/platform/registry/common/platform'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; import { localize } from 'vs/nls'; +import { SERVER_GROUP_CONFIG, SERVER_GROUP_COLORS_CONFIG } from 'sql/workbench/services/serverGroup/common/interfaces'; const configurationRegistry = Registry.as(Extensions.Configuration); -export const SERVER_GROUP_CONFIG = 'serverGroup'; -export const SERVER_GROUP_COLORS_CONFIG = 'colors'; export const SERVER_GROUP_AUTOEXPAND_CONFIG = 'autoExpand'; const serverGroupConfig: IConfigurationNode = { @@ -41,4 +40,4 @@ const serverGroupConfig: IConfigurationNode = { } }; -configurationRegistry.registerConfiguration(serverGroupConfig); \ No newline at end of file +configurationRegistry.registerConfiguration(serverGroupConfig); diff --git a/src/sql/workbench/contrib/objectExplorer/test/browser/connectionTreeActions.test.ts b/src/sql/workbench/contrib/objectExplorer/test/browser/connectionTreeActions.test.ts index b050e8a072..4bc3c5c18e 100644 --- a/src/sql/workbench/contrib/objectExplorer/test/browser/connectionTreeActions.test.ts +++ b/src/sql/workbench/contrib/objectExplorer/test/browser/connectionTreeActions.test.ts @@ -11,22 +11,22 @@ import { RefreshAction, AddServerAction, DeleteConnectionAction, DisconnectConnectionAction, ActiveConnectionsFilterAction, RecentConnectionsFilterAction } - from 'sql/workbench/contrib/objectExplorer/browser/connectionTreeAction'; + from 'sql/workbench/services/objectExplorer/browser/connectionTreeAction'; import { TestConnectionManagementService } from 'sql/platform/connection/test/common/testConnectionManagementService'; import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeView'; -import * as LocalizedConstants from 'sql/workbench/contrib/connection/common/localizedConstants'; +import * as LocalizedConstants from 'sql/workbench/services/connection/browser/localizedConstants'; import { ObjectExplorerService, ObjectExplorerNodeEventArgs } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; -import { ServerTreeDataSource } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeDataSource'; +import { ServerTreeDataSource } from 'sql/workbench/services/objectExplorer/browser/serverTreeDataSource'; import { Emitter, Event } from 'vs/base/common/event'; import Severity from 'vs/base/common/severity'; -import { ObjectExplorerActionsContext } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; +import { ObjectExplorerActionsContext } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; import { IConnectionResult, IConnectionParams } from 'sql/platform/connection/common/connectionManagement'; -import { TreeSelectionHandler } from 'sql/workbench/contrib/objectExplorer/browser/treeSelectionHandler'; +import { TreeSelectionHandler } from 'sql/workbench/services/objectExplorer/browser/treeSelectionHandler'; import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { UNSAVED_GROUP_ID, mssqlProviderName } from 'sql/platform/connection/common/constants'; import { $ } from 'vs/base/browser/dom'; diff --git a/src/sql/workbench/contrib/profiler/browser/profiler.contribution.ts b/src/sql/workbench/contrib/profiler/browser/profiler.contribution.ts index eece993279..772f4c6232 100644 --- a/src/sql/workbench/contrib/profiler/browser/profiler.contribution.ts +++ b/src/sql/workbench/contrib/profiler/browser/profiler.contribution.ts @@ -10,7 +10,7 @@ import { IConfigurationRegistry, Extensions as ConfigurationExtensions, IConfigu import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import * as nls from 'vs/nls'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; import { ProfilerEditor } from 'sql/workbench/contrib/profiler/browser/profilerEditor'; import { PROFILER_VIEW_TEMPLATE_SETTINGS, PROFILER_SESSION_TEMPLATE_SETTINGS, IProfilerViewTemplate, IProfilerSessionTemplate, EngineType, PROFILER_FILTER_SETTINGS } from 'sql/workbench/services/profiler/browser/interfaces'; diff --git a/src/sql/workbench/contrib/profiler/browser/profilerActions.contribution.ts b/src/sql/workbench/contrib/profiler/browser/profilerActions.contribution.ts index 2ee3396ae9..b723607680 100644 --- a/src/sql/workbench/contrib/profiler/browser/profilerActions.contribution.ts +++ b/src/sql/workbench/contrib/profiler/browser/profilerActions.contribution.ts @@ -7,12 +7,12 @@ import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { ServicesAccessor, IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IEditorService, ACTIVE_GROUP } from 'vs/workbench/services/editor/common/editorService'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; import * as TaskUtilities from 'sql/workbench/browser/taskUtilities'; import { IProfilerService } from 'sql/workbench/services/profiler/browser/interfaces'; import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; import { ProfilerEditor } from 'sql/workbench/contrib/profiler/browser/profilerEditor'; -import { ObjectExplorerActionsContext } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; +import { ObjectExplorerActionsContext } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; diff --git a/src/sql/workbench/contrib/profiler/browser/profilerActions.ts b/src/sql/workbench/contrib/profiler/browser/profilerActions.ts index a05d52256e..4a9663cd7c 100644 --- a/src/sql/workbench/contrib/profiler/browser/profilerActions.ts +++ b/src/sql/workbench/contrib/profiler/browser/profilerActions.ts @@ -5,7 +5,7 @@ import { IProfilerService } from 'sql/workbench/services/profiler/browser/interfaces'; import { IProfilerController } from 'sql/workbench/contrib/profiler/common/interfaces'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; import { Task } from 'sql/workbench/services/tasks/browser/tasksRegistry'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IConnectionManagementService, IConnectionCompletionOptions } from 'sql/platform/connection/common/connectionManagement'; diff --git a/src/sql/workbench/contrib/profiler/browser/profilerEditor.ts b/src/sql/workbench/contrib/profiler/browser/profilerEditor.ts index 9f252981c9..6332af1276 100644 --- a/src/sql/workbench/contrib/profiler/browser/profilerEditor.ts +++ b/src/sql/workbench/contrib/profiler/browser/profilerEditor.ts @@ -3,14 +3,14 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; import { TabbedPanel } from 'sql/base/browser/ui/panel/panel'; import { Table } from 'sql/base/browser/ui/table/table'; import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; import { IProfilerService, IProfilerViewTemplate } from 'sql/workbench/services/profiler/browser/interfaces'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; import { attachTableStyler } from 'sql/platform/theme/common/styler'; -import { IProfilerStateChangedEvent } from 'sql/workbench/contrib/profiler/common/profilerState'; +import { IProfilerStateChangedEvent } from 'sql/workbench/common/editor/profiler/profilerState'; import { ProfilerTableEditor, ProfilerTableViewState } from 'sql/workbench/contrib/profiler/browser/profilerTableEditor'; import * as Actions from 'sql/workbench/contrib/profiler/browser/profilerActions'; import { CONTEXT_PROFILER_EDITOR, PROFILER_TABLE_COMMAND_SEARCH } from 'sql/workbench/contrib/profiler/common/interfaces'; diff --git a/src/sql/workbench/contrib/profiler/browser/profilerTableEditor.ts b/src/sql/workbench/contrib/profiler/browser/profilerTableEditor.ts index 725901b76d..e04062b61d 100644 --- a/src/sql/workbench/contrib/profiler/browser/profilerTableEditor.ts +++ b/src/sql/workbench/contrib/profiler/browser/profilerTableEditor.ts @@ -4,11 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import { IProfilerController } from 'sql/workbench/contrib/profiler/common/interfaces'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; import { Table } from 'sql/base/browser/ui/table/table'; import { attachTableStyler } from 'sql/platform/theme/common/styler'; import { RowSelectionModel } from 'sql/base/browser/ui/table/plugins/rowSelectionModel.plugin'; -import { IProfilerStateChangedEvent } from 'sql/workbench/contrib/profiler/common/profilerState'; +import { IProfilerStateChangedEvent } from 'sql/workbench/common/editor/profiler/profilerState'; import { FindWidget, ITableController, IConfigurationChangedEvent, ACTION_IDS, PROFILER_MAX_MATCHES } from 'sql/workbench/contrib/profiler/browser/profilerFindWidget'; import { ProfilerFindNext, ProfilerFindPrevious } from 'sql/workbench/contrib/profiler/browser/profilerActions'; diff --git a/src/sql/workbench/contrib/query/browser/actions.ts b/src/sql/workbench/contrib/query/browser/actions.ts index ff6ae97263..a1fc492869 100644 --- a/src/sql/workbench/contrib/query/browser/actions.ts +++ b/src/sql/workbench/contrib/query/browser/actions.ts @@ -17,7 +17,7 @@ import { removeAnsiEscapeCodes } from 'vs/base/common/strings'; import { IGridDataProvider } from 'sql/workbench/services/query/common/gridDataProvider'; import { INotificationService } from 'vs/platform/notification/common/notification'; import QueryRunner from 'sql/workbench/services/query/common/queryRunner'; -import { GridTableState } from 'sql/workbench/contrib/query/common/gridPanelState'; +import { GridTableState } from 'sql/workbench/common/editor/query/gridPanelState'; import * as Constants from 'sql/workbench/contrib/extensions/common/constants'; import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; diff --git a/src/sql/workbench/contrib/query/browser/gridPanel.ts b/src/sql/workbench/contrib/query/browser/gridPanel.ts index d14f49af22..2454dc0129 100644 --- a/src/sql/workbench/contrib/query/browser/gridPanel.ts +++ b/src/sql/workbench/contrib/query/browser/gridPanel.ts @@ -44,7 +44,7 @@ import { localize } from 'vs/nls'; import { IGridDataProvider } from 'sql/workbench/services/query/common/gridDataProvider'; import { formatDocumentWithSelectedProvider, FormattingMode } from 'vs/editor/contrib/format/format'; import { CancellationToken } from 'vs/base/common/cancellation'; -import { GridPanelState, GridTableState } from 'sql/workbench/contrib/query/common/gridPanelState'; +import { GridPanelState, GridTableState } from 'sql/workbench/common/editor/query/gridPanelState'; import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/common/untitledTextEditorService'; import { SaveFormat } from 'sql/workbench/services/query/common/resultSerializer'; diff --git a/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts b/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts index c7661c376f..a3423e990b 100644 --- a/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts +++ b/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts @@ -20,7 +20,7 @@ import * as ConnectionConstants from 'sql/platform/connection/common/constants'; import { EditDataEditor } from 'sql/workbench/contrib/editData/browser/editDataEditor'; import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; import { firstIndex } from 'vs/base/common/arrays'; const singleQuote = '\''; diff --git a/src/sql/workbench/contrib/query/browser/messagePanel.ts b/src/sql/workbench/contrib/query/browser/messagePanel.ts index 22d17480bb..e94480495f 100644 --- a/src/sql/workbench/contrib/query/browser/messagePanel.ts +++ b/src/sql/workbench/contrib/query/browser/messagePanel.ts @@ -6,7 +6,7 @@ import 'vs/css!./media/messagePanel'; import { IMessagesActionContext, CopyMessagesAction, CopyAllMessagesAction } from './actions'; import QueryRunner, { IQueryMessage } from 'sql/workbench/services/query/common/queryRunner'; -import { IExpandableTree } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { IExpandableTree } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { ISelectionData } from 'azdata'; @@ -28,7 +28,7 @@ import { $, Dimension, createStyleSheet } from 'vs/base/browser/dom'; import { QueryEditor } from 'sql/workbench/contrib/query/browser/queryEditor'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { resultsErrorColor } from 'sql/platform/theme/common/colors'; -import { MessagePanelState } from 'sql/workbench/contrib/query/common/messagePanelState'; +import { MessagePanelState } from 'sql/workbench/common/editor/query/messagePanelState'; export interface IResultMessageIntern extends IQueryMessage { id?: string; diff --git a/src/sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.ts b/src/sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.ts index 8543a2b89a..d6f3f28adf 100644 --- a/src/sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.ts +++ b/src/sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.ts @@ -9,7 +9,7 @@ import { IPanelView, IPanelTab } from 'sql/base/browser/ui/panel/panel'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { bootstrapAngular } from 'sql/workbench/services/bootstrap/browser/bootstrapService'; import { QueryModelViewTabModule } from 'sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.module'; -import { QueryModelViewState } from 'sql/workbench/contrib/query/common/modelViewTab/modelViewState'; +import { QueryModelViewState } from 'sql/workbench/common/editor/query/modelViewState'; export class QueryModelViewTab implements IPanelTab { public identifier = 'QueryModelViewTab_'; diff --git a/src/sql/workbench/contrib/query/browser/query.contribution.ts b/src/sql/workbench/contrib/query/browser/query.contribution.ts index c92cfd47f4..f44187fca3 100644 --- a/src/sql/workbench/contrib/query/browser/query.contribution.ts +++ b/src/sql/workbench/contrib/query/browser/query.contribution.ts @@ -17,7 +17,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { QueryEditor } from 'sql/workbench/contrib/query/browser/queryEditor'; import { QueryResultsEditor } from 'sql/workbench/contrib/query/browser/queryResultsEditor'; -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; import * as queryContext from 'sql/workbench/contrib/query/common/queryContext'; import { RunQueryKeyboardAction, RunCurrentQueryKeyboardAction, CancelQueryKeyboardAction, RefreshIntellisenseKeyboardAction, ToggleQueryResultsKeyboardAction, @@ -35,10 +35,10 @@ import { SqlFlavorStatusbarItem, ChangeFlavorAction } from 'sql/workbench/contri import { IEditorInputFactoryRegistry, Extensions as EditorInputFactoryExtensions } from 'vs/workbench/common/editor'; import { FileQueryEditorInput } from 'sql/workbench/contrib/query/common/fileQueryEditorInput'; import { FileQueryEditorInputFactory, UntitledQueryEditorInputFactory, QueryEditorLanguageAssociation } from 'sql/workbench/contrib/query/common/queryInputFactory'; -import { UntitledQueryEditorInput } from 'sql/workbench/contrib/query/common/untitledQueryEditorInput'; +import { UntitledQueryEditorInput } from 'sql/workbench/common/editor/query/untitledQueryEditorInput'; import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; import { NewQueryTask, OE_NEW_QUERY_ACTION_ID, DE_NEW_QUERY_COMMAND_ID } from 'sql/workbench/contrib/query/browser/queryActions'; -import { TreeNodeContextKey } from 'sql/workbench/contrib/objectExplorer/common/treeNodeContextKey'; +import { TreeNodeContextKey } from 'sql/workbench/services/objectExplorer/common/treeNodeContextKey'; import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands'; import { ManageActionContext } from 'sql/workbench/browser/actions'; diff --git a/src/sql/workbench/contrib/query/browser/queryActions.ts b/src/sql/workbench/contrib/query/browser/queryActions.ts index 05c2c3ec0f..5911b4d668 100644 --- a/src/sql/workbench/contrib/query/browser/queryActions.ts +++ b/src/sql/workbench/contrib/query/browser/queryActions.ts @@ -37,7 +37,7 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { getCurrentGlobalConnection } from 'sql/workbench/browser/taskUtilities'; import { ServicesAccessor, IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; -import { OEAction } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; +import { OEAction } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; import { TreeViewItemHandleArg } from 'sql/workbench/common/views'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; diff --git a/src/sql/workbench/contrib/query/browser/queryEditor.ts b/src/sql/workbench/contrib/query/browser/queryEditor.ts index d3781b4f60..c24f5a19ac 100644 --- a/src/sql/workbench/contrib/query/browser/queryEditor.ts +++ b/src/sql/workbench/contrib/query/browser/queryEditor.ts @@ -31,7 +31,7 @@ import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileE import { URI } from 'vs/base/common/uri'; import { IFileService, FileChangesEvent } from 'vs/platform/files/common/files'; -import { QueryEditorInput, IQueryEditorStateChange } from 'sql/workbench/contrib/query/common/queryEditorInput'; +import { QueryEditorInput, IQueryEditorStateChange } from 'sql/workbench/common/editor/query/queryEditorInput'; import { QueryResultsEditor } from 'sql/workbench/contrib/query/browser/queryResultsEditor'; import * as queryContext from 'sql/workbench/contrib/query/common/queryContext'; import { Taskbar, ITaskbarContent } from 'sql/base/browser/ui/taskbar/taskbar'; diff --git a/src/sql/workbench/contrib/query/browser/queryResultsEditor.ts b/src/sql/workbench/contrib/query/browser/queryResultsEditor.ts index c554b187ca..3f58ed9ae8 100644 --- a/src/sql/workbench/contrib/query/browser/queryResultsEditor.ts +++ b/src/sql/workbench/contrib/query/browser/queryResultsEditor.ts @@ -15,7 +15,7 @@ import * as DOM from 'vs/base/browser/dom'; import * as types from 'vs/base/common/types'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; import { QueryResultsView } from 'sql/workbench/contrib/query/browser/queryResultsView'; import { CancellationToken } from 'vs/base/common/cancellation'; import { IStorageService } from 'vs/platform/storage/common/storage'; diff --git a/src/sql/workbench/contrib/query/browser/queryResultsView.ts b/src/sql/workbench/contrib/query/browser/queryResultsView.ts index 656a03a1c1..0144046349 100644 --- a/src/sql/workbench/contrib/query/browser/queryResultsView.ts +++ b/src/sql/workbench/contrib/query/browser/queryResultsView.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; import { TabbedPanel, IPanelTab, IPanelView } from 'sql/base/browser/ui/panel/panel'; import { IQueryModelService } from 'sql/workbench/services/query/common/queryModel'; import QueryRunner from 'sql/workbench/services/query/common/queryRunner'; @@ -13,8 +13,8 @@ import { ChartTab } from 'sql/workbench/contrib/charts/browser/chartTab'; import { QueryPlanTab } from 'sql/workbench/contrib/queryPlan/browser/queryPlan'; import { TopOperationsTab } from 'sql/workbench/contrib/queryPlan/browser/topOperations'; import { QueryModelViewTab } from 'sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab'; -import { MessagePanelState } from 'sql/workbench/contrib/query/common/messagePanelState'; -import { GridPanelState } from 'sql/workbench/contrib/query/common/gridPanelState'; +import { MessagePanelState } from 'sql/workbench/common/editor/query/messagePanelState'; +import { GridPanelState } from 'sql/workbench/common/editor/query/gridPanelState'; import * as nls from 'vs/nls'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/sql/workbench/contrib/query/browser/statusBarItems.ts b/src/sql/workbench/contrib/query/browser/statusBarItems.ts index 71452c5561..3cbe7229c7 100644 --- a/src/sql/workbench/contrib/query/browser/statusBarItems.ts +++ b/src/sql/workbench/contrib/query/browser/statusBarItems.ts @@ -12,7 +12,7 @@ import { localize } from 'vs/nls'; import QueryRunner from 'sql/workbench/services/query/common/queryRunner'; import { parseNumAsTimeString } from 'sql/platform/connection/common/utils'; import { Event } from 'vs/base/common/event'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; import { IStatusbarService, IStatusbarEntryAccessor, StatusbarAlignment } from 'vs/workbench/services/statusbar/common/statusbar'; export class TimeElapsedStatusBarContributions extends Disposable implements IWorkbenchContribution { diff --git a/src/sql/workbench/contrib/query/common/fileQueryEditorInput.ts b/src/sql/workbench/contrib/query/common/fileQueryEditorInput.ts index 85370428e2..bb15190fb6 100644 --- a/src/sql/workbench/contrib/query/common/fileQueryEditorInput.ts +++ b/src/sql/workbench/contrib/query/common/fileQueryEditorInput.ts @@ -3,8 +3,8 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IQueryModelService } from 'sql/workbench/services/query/common/queryModel'; diff --git a/src/sql/workbench/contrib/query/common/queryInputFactory.ts b/src/sql/workbench/contrib/query/common/queryInputFactory.ts index 8e85a2a817..b72234d2ac 100644 --- a/src/sql/workbench/contrib/query/common/queryInputFactory.ts +++ b/src/sql/workbench/contrib/query/common/queryInputFactory.ts @@ -6,14 +6,14 @@ import { IEditorInputFactory, IEditorInputFactoryRegistry, Extensions as EditorInputExtensions, IEditorInput } from 'vs/workbench/common/editor'; import { Registry } from 'vs/platform/registry/common/platform'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; import { FILE_EDITOR_INPUT_ID } from 'vs/workbench/contrib/files/common/files'; -import { UntitledQueryEditorInput } from 'sql/workbench/contrib/query/common/untitledQueryEditorInput'; +import { UntitledQueryEditorInput } from 'sql/workbench/common/editor/query/untitledQueryEditorInput'; import { FileQueryEditorInput } from 'sql/workbench/contrib/query/common/fileQueryEditorInput'; import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput'; import { ILanguageAssociation } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; import { getCurrentGlobalConnection } from 'sql/workbench/browser/taskUtilities'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { IConnectionManagementService, IConnectionCompletionOptions, ConnectionType } from 'sql/platform/connection/common/connectionManagement'; diff --git a/src/sql/workbench/contrib/query/test/browser/queryActions.test.ts b/src/sql/workbench/contrib/query/test/browser/queryActions.test.ts index 7e082545a1..bde5583f75 100644 --- a/src/sql/workbench/contrib/query/test/browser/queryActions.test.ts +++ b/src/sql/workbench/contrib/query/test/browser/queryActions.test.ts @@ -25,7 +25,7 @@ import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; import { TestStorageService, TestFileService, workbenchInstantiationService } from 'vs/workbench/test/browser/workbenchTestServices'; import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; -import { UntitledQueryEditorInput } from 'sql/workbench/contrib/query/common/untitledQueryEditorInput'; +import { UntitledQueryEditorInput } from 'sql/workbench/common/editor/query/untitledQueryEditorInput'; import { TestThemeService } from 'vs/platform/theme/test/common/testThemeService'; import { TestQueryModelService } from 'sql/workbench/services/query/test/common/testQueryModelService'; import { URI } from 'vs/base/common/uri'; diff --git a/src/sql/workbench/contrib/query/test/browser/queryEditor.test.ts b/src/sql/workbench/contrib/query/test/browser/queryEditor.test.ts index 4c7847cf72..a396d0fa61 100644 --- a/src/sql/workbench/contrib/query/test/browser/queryEditor.test.ts +++ b/src/sql/workbench/contrib/query/test/browser/queryEditor.test.ts @@ -7,7 +7,7 @@ import { InstantiationService } from 'vs/platform/instantiation/common/instantia import { IEditorDescriptor } from 'vs/workbench/browser/editor'; import { URI } from 'vs/base/common/uri'; -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; import { INewConnectionParams, ConnectionType, RunQueryOnConnectionMode } from 'sql/platform/connection/common/connectionManagement'; import { ConnectionManagementService } from 'sql/workbench/services/connection/browser/connectionManagementService'; import { RunQueryAction, ListDatabasesActionItem } from 'sql/workbench/contrib/query/browser/queryActions'; @@ -20,7 +20,7 @@ import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { TestStorageService, workbenchInstantiationService } from 'vs/workbench/test/browser/workbenchTestServices'; import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService'; import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput'; -import { UntitledQueryEditorInput } from 'sql/workbench/contrib/query/common/untitledQueryEditorInput'; +import { UntitledQueryEditorInput } from 'sql/workbench/common/editor/query/untitledQueryEditorInput'; import { TestQueryModelService } from 'sql/workbench/services/query/test/common/testQueryModelService'; import { Event } from 'vs/base/common/event'; import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/common/untitledTextEditorService'; diff --git a/src/sql/workbench/contrib/query/test/browser/queryInputFactory.test.ts b/src/sql/workbench/contrib/query/test/browser/queryInputFactory.test.ts index b5645ae52e..a49cc5a4c6 100644 --- a/src/sql/workbench/contrib/query/test/browser/queryInputFactory.test.ts +++ b/src/sql/workbench/contrib/query/test/browser/queryInputFactory.test.ts @@ -18,7 +18,7 @@ import { TestConnectionManagementService } from 'sql/platform/connection/test/co import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IConnectionManagementService, IConnectionCompletionOptions, IConnectionCallbacks, IConnectionResult } from 'sql/platform/connection/common/connectionManagement'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { UntitledQueryEditorInput } from 'sql/workbench/contrib/query/common/untitledQueryEditorInput'; +import { UntitledQueryEditorInput } from 'sql/workbench/common/editor/query/untitledQueryEditorInput'; import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput'; import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/common/untitledTextEditorService'; diff --git a/src/sql/workbench/contrib/queryHistory/browser/queryHistoryView.ts b/src/sql/workbench/contrib/queryHistory/browser/queryHistoryView.ts index 581cb916d1..9601766794 100644 --- a/src/sql/workbench/contrib/queryHistory/browser/queryHistoryView.ts +++ b/src/sql/workbench/contrib/queryHistory/browser/queryHistoryView.ts @@ -17,7 +17,7 @@ import { QueryHistoryRenderer } from 'sql/workbench/contrib/queryHistory/browser import { QueryHistoryDataSource } from 'sql/workbench/contrib/queryHistory/browser/queryHistoryDataSource'; import { QueryHistoryController } from 'sql/workbench/contrib/queryHistory/browser/queryHistoryController'; import { QueryHistoryActionProvider } from 'sql/workbench/contrib/queryHistory/browser/queryHistoryActionProvider'; -import { IExpandableTree } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { IExpandableTree } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { IQueryHistoryService } from 'sql/workbench/services/queryHistory/common/queryHistoryService'; import { QueryHistoryNode } from 'sql/workbench/contrib/queryHistory/browser/queryHistoryNode'; import { QueryHistoryInfo } from 'sql/workbench/services/queryHistory/common/queryHistoryInfo'; diff --git a/src/sql/workbench/contrib/queryPlan/browser/queryPlan.ts b/src/sql/workbench/contrib/queryPlan/browser/queryPlan.ts index de95124817..e923849e67 100644 --- a/src/sql/workbench/contrib/queryPlan/browser/queryPlan.ts +++ b/src/sql/workbench/contrib/queryPlan/browser/queryPlan.ts @@ -10,7 +10,7 @@ import { IPanelView, IPanelTab } from 'sql/base/browser/ui/panel/panel'; import { Dimension, clearNode } from 'vs/base/browser/dom'; import { localize } from 'vs/nls'; import { dispose } from 'vs/base/common/lifecycle'; -import { QueryPlanState } from 'sql/workbench/contrib/queryPlan/common/queryPlanState'; +import { QueryPlanState } from 'sql/workbench/common/editor/query/queryPlanState'; export class QueryPlanTab implements IPanelTab { public readonly title = localize('queryPlanTitle', "Query Plan"); diff --git a/src/sql/workbench/contrib/queryPlan/browser/topOperations.ts b/src/sql/workbench/contrib/queryPlan/browser/topOperations.ts index e2ce018311..d94d30dac3 100644 --- a/src/sql/workbench/contrib/queryPlan/browser/topOperations.ts +++ b/src/sql/workbench/contrib/queryPlan/browser/topOperations.ts @@ -14,7 +14,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService'; import { attachTableStyler } from 'sql/platform/theme/common/styler'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; -import { TopOperationsState } from 'sql/workbench/contrib/queryPlan/common/topOperationsState'; +import { TopOperationsState } from 'sql/workbench/common/editor/query/topOperationsState'; const topOperationColumns: Array> = [ { name: localize('topOperations.operation', "Operation"), field: 'operation', sortable: true }, diff --git a/src/sql/workbench/contrib/restore/browser/restore.contribution.ts b/src/sql/workbench/contrib/restore/browser/restore.contribution.ts index 2983ca53ad..60723638df 100644 --- a/src/sql/workbench/contrib/restore/browser/restore.contribution.ts +++ b/src/sql/workbench/contrib/restore/browser/restore.contribution.ts @@ -12,12 +12,12 @@ import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/ import { mssqlProviderName } from 'sql/platform/connection/common/constants'; import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { RestoreAction } from 'sql/workbench/contrib/restore/browser/restoreActions'; -import { TreeNodeContextKey } from 'sql/workbench/contrib/objectExplorer/common/treeNodeContextKey'; -import { ObjectExplorerActionsContext } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; +import { TreeNodeContextKey } from 'sql/workbench/services/objectExplorer/common/treeNodeContextKey'; +import { ObjectExplorerActionsContext } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; import { ManageActionContext } from 'sql/workbench/browser/actions'; import { ItemContextKey } from 'sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerTreeContext'; -import { ServerInfoContextKey } from 'sql/workbench/contrib/connection/common/serverInfoContextKey'; +import { ServerInfoContextKey } from 'sql/workbench/services/connection/common/serverInfoContextKey'; import { DatabaseEngineEdition } from 'sql/workbench/api/common/sqlExtHostTypes'; new RestoreAction().registerTask(); diff --git a/src/sql/workbench/contrib/scripting/browser/scripting.contribution.ts b/src/sql/workbench/contrib/scripting/browser/scripting.contribution.ts index 209dfd7196..d2cb7ac5b4 100644 --- a/src/sql/workbench/contrib/scripting/browser/scripting.contribution.ts +++ b/src/sql/workbench/contrib/scripting/browser/scripting.contribution.ts @@ -8,7 +8,7 @@ import * as commands from 'sql/workbench/contrib/scripting/browser/scriptingActi import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; import { localize } from 'vs/nls'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; -import { TreeNodeContextKey } from 'sql/workbench/contrib/objectExplorer/common/treeNodeContextKey'; +import { TreeNodeContextKey } from 'sql/workbench/services/objectExplorer/common/treeNodeContextKey'; import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; diff --git a/src/sql/workbench/contrib/scripting/browser/scriptingActions.ts b/src/sql/workbench/contrib/scripting/browser/scriptingActions.ts index 16e0a4d4a4..c3bda5f57a 100644 --- a/src/sql/workbench/contrib/scripting/browser/scriptingActions.ts +++ b/src/sql/workbench/contrib/scripting/browser/scriptingActions.ts @@ -15,12 +15,12 @@ import { IProgressService, ProgressLocation } from 'vs/platform/progress/common/ import { BaseActionContext } from 'sql/workbench/browser/actions'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ScriptCreateAction, ScriptDeleteAction, ScriptSelectAction, ScriptExecuteAction, ScriptAlterAction, EditDataAction } from 'sql/workbench/browser/scriptingActions'; -import { ObjectExplorerActionsContext, getTreeNode } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; +import { ObjectExplorerActionsContext, getTreeNode } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; -import { TreeSelectionHandler } from 'sql/workbench/contrib/objectExplorer/browser/treeSelectionHandler'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeSelectionHandler } from 'sql/workbench/services/objectExplorer/browser/treeSelectionHandler'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { VIEWLET_ID } from 'sql/workbench/contrib/dataExplorer/browser/dataExplorerViewlet'; import { ILogService } from 'vs/platform/log/common/log'; import { getErrorMessage } from 'vs/base/common/errors'; diff --git a/src/sql/workbench/contrib/scripting/test/browser/scriptingActions.test.ts b/src/sql/workbench/contrib/scripting/test/browser/scriptingActions.test.ts index 06bd61f9b9..4af371f8fd 100644 --- a/src/sql/workbench/contrib/scripting/test/browser/scriptingActions.test.ts +++ b/src/sql/workbench/contrib/scripting/test/browser/scriptingActions.test.ts @@ -6,13 +6,13 @@ import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; import { handleOeRefreshCommand } from 'sql/workbench/contrib/scripting/browser/scriptingActions'; -import { ObjectExplorerActionsContext } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; +import { ObjectExplorerActionsContext } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { ILogService, NullLogService } from 'vs/platform/log/common/log'; import { INotificationService } from 'vs/platform/notification/common/notification'; import { TestNotificationService } from 'vs/platform/notification/test/common/testNotificationService'; diff --git a/src/sql/workbench/contrib/tasks/browser/tasksView.ts b/src/sql/workbench/contrib/tasks/browser/tasksView.ts index da770c3fd4..e9c5224a08 100644 --- a/src/sql/workbench/contrib/tasks/browser/tasksView.ts +++ b/src/sql/workbench/contrib/tasks/browser/tasksView.ts @@ -22,7 +22,7 @@ import { TaskHistoryActionProvider } from 'sql/workbench/contrib/tasks/browser/t import { ITaskService } from 'sql/workbench/services/tasks/common/tasksService'; import { TaskNode, TaskStatus } from 'sql/workbench/services/tasks/common/tasksNode'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; -import { IExpandableTree } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { IExpandableTree } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; /** * TaskHistoryView implements the dynamic tree view. diff --git a/src/sql/workbench/contrib/accounts/browser/accountDialog.ts b/src/sql/workbench/services/accountManagement/browser/accountDialog.ts similarity index 99% rename from src/sql/workbench/contrib/accounts/browser/accountDialog.ts rename to src/sql/workbench/services/accountManagement/browser/accountDialog.ts index 0105d0703d..f33c74279a 100644 --- a/src/sql/workbench/contrib/accounts/browser/accountDialog.ts +++ b/src/sql/workbench/services/accountManagement/browser/accountDialog.ts @@ -27,7 +27,7 @@ import { Modal } from 'sql/workbench/browser/modal/modal'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; import { AccountViewModel } from 'sql/platform/accounts/common/accountViewModel'; import { AddAccountAction } from 'sql/platform/accounts/common/accountActions'; -import { AccountListRenderer, AccountListDelegate } from 'sql/workbench/contrib/accounts/browser/accountListRenderer'; +import { AccountListRenderer, AccountListDelegate } from 'sql/workbench/services/accountManagement/browser/accountListRenderer'; import { AccountProviderAddedEventParams, UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; diff --git a/src/sql/workbench/contrib/accounts/browser/accountDialogController.ts b/src/sql/workbench/services/accountManagement/browser/accountDialogController.ts similarity index 95% rename from src/sql/workbench/contrib/accounts/browser/accountDialogController.ts rename to src/sql/workbench/services/accountManagement/browser/accountDialogController.ts index 2c613d745b..7268840019 100644 --- a/src/sql/workbench/contrib/accounts/browser/accountDialogController.ts +++ b/src/sql/workbench/services/accountManagement/browser/accountDialogController.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import Severity from 'vs/base/common/severity'; -import { AccountDialog } from 'sql/workbench/contrib/accounts/browser/accountDialog'; +import { AccountDialog } from 'sql/workbench/services/accountManagement/browser/accountDialog'; import { localize } from 'vs/nls'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; diff --git a/src/sql/workbench/contrib/accounts/browser/accountListRenderer.ts b/src/sql/workbench/services/accountManagement/browser/accountListRenderer.ts similarity index 99% rename from src/sql/workbench/contrib/accounts/browser/accountListRenderer.ts rename to src/sql/workbench/services/accountManagement/browser/accountListRenderer.ts index 3783efcc65..b2f93a2156 100644 --- a/src/sql/workbench/contrib/accounts/browser/accountListRenderer.ts +++ b/src/sql/workbench/services/accountManagement/browser/accountListRenderer.ts @@ -5,7 +5,6 @@ import 'vs/css!./media/accountListRenderer'; import 'vs/css!./media/accountActions'; -import 'vs/css!sql/media/icons/common-icons'; import * as DOM from 'vs/base/browser/dom'; import { IListRenderer, IListVirtualDelegate } from 'vs/base/browser/ui/list/list'; diff --git a/src/sql/workbench/services/accountManagement/browser/accountManagementService.ts b/src/sql/workbench/services/accountManagement/browser/accountManagementService.ts index 00fdfdc591..ab84c62668 100644 --- a/src/sql/workbench/services/accountManagement/browser/accountManagementService.ts +++ b/src/sql/workbench/services/accountManagement/browser/accountManagementService.ts @@ -12,8 +12,8 @@ import { IStorageService, StorageScope } from 'vs/platform/storage/common/storag import { Memento } from 'vs/workbench/common/memento'; import AccountStore from 'sql/platform/accounts/common/accountStore'; -import { AccountDialogController } from 'sql/workbench/contrib/accounts/browser/accountDialogController'; -import { AutoOAuthDialogController } from 'sql/workbench/contrib/accounts/browser/autoOAuthDialogController'; +import { AccountDialogController } from 'sql/workbench/services/accountManagement/browser/accountDialogController'; +import { AutoOAuthDialogController } from 'sql/workbench/services/accountManagement/browser/autoOAuthDialogController'; import { AccountProviderAddedEventParams, UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; import { IAccountManagementService } from 'sql/platform/accounts/common/interfaces'; import { Deferred } from 'sql/base/common/promise'; diff --git a/src/sql/workbench/contrib/accounts/browser/accountPicker.ts b/src/sql/workbench/services/accountManagement/browser/accountPicker.ts similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/accountPicker.ts rename to src/sql/workbench/services/accountManagement/browser/accountPicker.ts diff --git a/src/sql/workbench/contrib/accounts/browser/accountPickerImpl.ts b/src/sql/workbench/services/accountManagement/browser/accountPickerImpl.ts similarity index 99% rename from src/sql/workbench/contrib/accounts/browser/accountPickerImpl.ts rename to src/sql/workbench/services/accountManagement/browser/accountPickerImpl.ts index 7d99f34b6c..9caad05fb2 100644 --- a/src/sql/workbench/contrib/accounts/browser/accountPickerImpl.ts +++ b/src/sql/workbench/services/accountManagement/browser/accountPickerImpl.ts @@ -21,7 +21,7 @@ import * as azdata from 'azdata'; import { DropdownList } from 'sql/base/browser/ui/dropdownList/dropdownList'; import { attachDropdownStyler } from 'sql/platform/theme/common/styler'; import { AddAccountAction, RefreshAccountAction } from 'sql/platform/accounts/common/accountActions'; -import { AccountPickerListRenderer, AccountListDelegate } from 'sql/workbench/contrib/accounts/browser/accountListRenderer'; +import { AccountPickerListRenderer, AccountListDelegate } from 'sql/workbench/services/accountManagement/browser/accountListRenderer'; import { AccountPickerViewModel } from 'sql/platform/accounts/common/accountPickerViewModel'; import { firstIndex } from 'vs/base/common/arrays'; diff --git a/src/sql/workbench/contrib/accounts/browser/accountPickerService.ts b/src/sql/workbench/services/accountManagement/browser/accountPickerService.ts similarity index 93% rename from src/sql/workbench/contrib/accounts/browser/accountPickerService.ts rename to src/sql/workbench/services/accountManagement/browser/accountPickerService.ts index 0bf8f4208c..a6f5b26cb5 100644 --- a/src/sql/workbench/contrib/accounts/browser/accountPickerService.ts +++ b/src/sql/workbench/services/accountManagement/browser/accountPickerService.ts @@ -7,8 +7,8 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { Event, Emitter } from 'vs/base/common/event'; import * as azdata from 'azdata'; -import { IAccountPickerService } from 'sql/workbench/contrib/accounts/browser/accountPicker'; -import { AccountPicker } from 'sql/workbench/contrib/accounts/browser/accountPickerImpl'; +import { IAccountPickerService } from 'sql/workbench/services/accountManagement/browser/accountPicker'; +import { AccountPicker } from 'sql/workbench/services/accountManagement/browser/accountPickerImpl'; export class AccountPickerService implements IAccountPickerService { _serviceBrand: undefined; diff --git a/src/sql/workbench/contrib/accounts/browser/autoOAuthDialog.ts b/src/sql/workbench/services/accountManagement/browser/autoOAuthDialog.ts similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/autoOAuthDialog.ts rename to src/sql/workbench/services/accountManagement/browser/autoOAuthDialog.ts diff --git a/src/sql/workbench/contrib/accounts/browser/autoOAuthDialogController.ts b/src/sql/workbench/services/accountManagement/browser/autoOAuthDialogController.ts similarity index 96% rename from src/sql/workbench/contrib/accounts/browser/autoOAuthDialogController.ts rename to src/sql/workbench/services/accountManagement/browser/autoOAuthDialogController.ts index c8ccdd6806..227ce8a77b 100644 --- a/src/sql/workbench/contrib/accounts/browser/autoOAuthDialogController.ts +++ b/src/sql/workbench/services/accountManagement/browser/autoOAuthDialogController.ts @@ -7,7 +7,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import Severity from 'vs/base/common/severity'; import { localize } from 'vs/nls'; -import { AutoOAuthDialog } from 'sql/workbench/contrib/accounts/browser/autoOAuthDialog'; +import { AutoOAuthDialog } from 'sql/workbench/services/accountManagement/browser/autoOAuthDialog'; import { IAccountManagementService } from 'sql/platform/accounts/common/interfaces'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; diff --git a/src/sql/workbench/contrib/accounts/browser/media/accountActions.css b/src/sql/workbench/services/accountManagement/browser/media/accountActions.css similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/accountActions.css rename to src/sql/workbench/services/accountManagement/browser/media/accountActions.css diff --git a/src/sql/workbench/contrib/accounts/browser/media/accountDialog.css b/src/sql/workbench/services/accountManagement/browser/media/accountDialog.css similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/accountDialog.css rename to src/sql/workbench/services/accountManagement/browser/media/accountDialog.css diff --git a/src/sql/workbench/contrib/accounts/browser/media/accountListRenderer.css b/src/sql/workbench/services/accountManagement/browser/media/accountListRenderer.css similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/accountListRenderer.css rename to src/sql/workbench/services/accountManagement/browser/media/accountListRenderer.css diff --git a/src/sql/workbench/contrib/accounts/browser/media/accountPicker.css b/src/sql/workbench/services/accountManagement/browser/media/accountPicker.css similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/accountPicker.css rename to src/sql/workbench/services/accountManagement/browser/media/accountPicker.css diff --git a/src/sql/workbench/contrib/accounts/browser/media/autoOAuthDialog.css b/src/sql/workbench/services/accountManagement/browser/media/autoOAuthDialog.css similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/autoOAuthDialog.css rename to src/sql/workbench/services/accountManagement/browser/media/autoOAuthDialog.css diff --git a/src/sql/workbench/contrib/accounts/browser/media/new_account.svg b/src/sql/workbench/services/accountManagement/browser/media/new_account.svg similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/new_account.svg rename to src/sql/workbench/services/accountManagement/browser/media/new_account.svg diff --git a/src/sql/workbench/contrib/accounts/browser/media/new_account_inverse.svg b/src/sql/workbench/services/accountManagement/browser/media/new_account_inverse.svg similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/new_account_inverse.svg rename to src/sql/workbench/services/accountManagement/browser/media/new_account_inverse.svg diff --git a/src/sql/workbench/services/accountManagement/test/browser/accountManagementService.test.ts b/src/sql/workbench/services/accountManagement/test/browser/accountManagementService.test.ts index 5d715a6146..026e01dcc0 100644 --- a/src/sql/workbench/services/accountManagement/test/browser/accountManagementService.test.ts +++ b/src/sql/workbench/services/accountManagement/test/browser/accountManagementService.test.ts @@ -7,7 +7,7 @@ import * as assert from 'assert'; import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; import AccountStore from 'sql/platform/accounts/common/accountStore'; -import { AccountDialogController } from 'sql/workbench/contrib/accounts/browser/accountDialogController'; +import { AccountDialogController } from 'sql/workbench/services/accountManagement/browser/accountDialogController'; import { AccountManagementService } from 'sql/workbench/services/accountManagement/browser/accountManagementService'; import { AccountAdditionResult, AccountProviderAddedEventParams, UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; import { IAccountStore } from 'sql/platform/accounts/common/interfaces'; diff --git a/src/sql/workbench/contrib/accounts/test/browser/accountPickerService.test.ts b/src/sql/workbench/services/accountManagement/test/browser/accountPickerService.test.ts similarity index 96% rename from src/sql/workbench/contrib/accounts/test/browser/accountPickerService.test.ts rename to src/sql/workbench/services/accountManagement/test/browser/accountPickerService.test.ts index 3e73d94c6d..abb2fc1b67 100644 --- a/src/sql/workbench/contrib/accounts/test/browser/accountPickerService.test.ts +++ b/src/sql/workbench/services/accountManagement/test/browser/accountPickerService.test.ts @@ -8,12 +8,12 @@ import * as assert from 'assert'; import * as TypeMoq from 'typemoq'; import { EventVerifierSingle } from 'sql/base/test/common/event'; import { Emitter } from 'vs/base/common/event'; -import { AccountPicker } from 'sql/workbench/contrib/accounts/browser/accountPickerImpl'; -import { AccountPickerService } from 'sql/workbench/contrib/accounts/browser/accountPickerService'; +import { AccountPicker } from 'sql/workbench/services/accountManagement/browser/accountPickerImpl'; import { AccountPickerViewModel } from 'sql/platform/accounts/common/accountPickerViewModel'; import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; import { TestThemeService } from 'vs/platform/theme/test/common/testThemeService'; +import { AccountPickerService } from 'sql/workbench/services/accountManagement/browser/accountPickerService'; // SUITE STATE ///////////////////////////////////////////////////////////// let mockAddAccountCompleteEmitter: Emitter; diff --git a/src/sql/workbench/contrib/connection/browser/advancedPropertiesController.ts b/src/sql/workbench/services/connection/browser/advancedPropertiesController.ts similarity index 100% rename from src/sql/workbench/contrib/connection/browser/advancedPropertiesController.ts rename to src/sql/workbench/services/connection/browser/advancedPropertiesController.ts diff --git a/src/sql/workbench/contrib/connection/common/connection.ts b/src/sql/workbench/services/connection/browser/connection.ts similarity index 100% rename from src/sql/workbench/contrib/connection/common/connection.ts rename to src/sql/workbench/services/connection/browser/connection.ts diff --git a/src/sql/workbench/contrib/connection/browser/connectionActions.ts b/src/sql/workbench/services/connection/browser/connectionActions.ts similarity index 96% rename from src/sql/workbench/contrib/connection/browser/connectionActions.ts rename to src/sql/workbench/services/connection/browser/connectionActions.ts index 0c14250bdf..a8a2fe332a 100644 --- a/src/sql/workbench/contrib/connection/browser/connectionActions.ts +++ b/src/sql/workbench/services/connection/browser/connectionActions.ts @@ -12,9 +12,9 @@ import { INotificationService, INotificationActions } from 'vs/platform/notifica import Severity from 'vs/base/common/severity'; import { IDialogService, IConfirmation, IConfirmationResult } from 'vs/platform/dialogs/common/dialogs'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; -import { EditDataInput } from 'sql/workbench/contrib/editData/browser/editDataInput'; -import { DashboardInput } from 'sql/workbench/contrib/dashboard/browser/dashboardInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; +import { EditDataInput } from 'sql/workbench/browser/editData/editDataInput'; +import { DashboardInput } from 'sql/workbench/browser/editor/profiler/dashboardInput'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput'; import { find } from 'vs/base/common/arrays'; diff --git a/src/sql/workbench/services/connection/browser/connectionController.ts b/src/sql/workbench/services/connection/browser/connectionController.ts index 669e353afd..dd15329b91 100644 --- a/src/sql/workbench/services/connection/browser/connectionController.ts +++ b/src/sql/workbench/services/connection/browser/connectionController.ts @@ -5,7 +5,7 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IConnectionComponentCallbacks, IConnectionComponentController, IConnectionValidateResult } from 'sql/workbench/services/connection/browser/connectionDialogService'; -import { AdvancedPropertiesController } from 'sql/workbench/contrib/connection/browser/advancedPropertiesController'; +import { AdvancedPropertiesController } from 'sql/workbench/services/connection/browser/advancedPropertiesController'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { ConnectionProfileGroup, IConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; import * as Constants from 'sql/platform/connection/common/constants'; diff --git a/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts b/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts index c5091ee248..0a05894a7d 100644 --- a/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts +++ b/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts @@ -2,6 +2,7 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ + import 'vs/css!./media/connectionDialog'; import { Button } from 'sql/base/browser/ui/button/button'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; @@ -10,14 +11,14 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Modal } from 'sql/workbench/browser/modal/modal'; import { IConnectionManagementService, INewConnectionParams } from 'sql/platform/connection/common/connectionManagement'; import * as DialogHelper from 'sql/workbench/browser/modal/dialogHelper'; -import { TreeCreationUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeCreationUtils'; -import { TreeUpdateUtils, IExpandableTree } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { TreeCreationUtils } from 'sql/workbench/services/objectExplorer/browser/treeCreationUtils'; +import { TreeUpdateUtils, IExpandableTree } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { TabbedPanel, PanelTabIdentifier } from 'sql/base/browser/ui/panel/panel'; -import { RecentConnectionTreeController, RecentConnectionActionsProvider } from 'sql/workbench/contrib/connection/browser/recentConnectionTreeController'; -import { SavedConnectionTreeController } from 'sql/workbench/contrib/connection/browser/savedConnectionTreeController'; +import { RecentConnectionTreeController, RecentConnectionActionsProvider } from 'sql/workbench/services/connection/browser/recentConnectionTreeController'; +import { SavedConnectionTreeController } from 'sql/workbench/services/connection/browser/savedConnectionTreeController'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; -import { ClearRecentConnectionsAction } from 'sql/workbench/contrib/connection/browser/connectionActions'; +import { ClearRecentConnectionsAction } from 'sql/workbench/services/connection/browser/connectionActions'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { contrastBorder } from 'vs/platform/theme/common/colorRegistry'; import { Event, Emitter } from 'vs/base/common/event'; diff --git a/src/sql/workbench/contrib/connection/common/connectionGlobalStatus.ts b/src/sql/workbench/services/connection/browser/connectionGlobalStatus.ts similarity index 93% rename from src/sql/workbench/contrib/connection/common/connectionGlobalStatus.ts rename to src/sql/workbench/services/connection/browser/connectionGlobalStatus.ts index 09190db06e..8f2f681ec1 100644 --- a/src/sql/workbench/contrib/connection/common/connectionGlobalStatus.ts +++ b/src/sql/workbench/services/connection/browser/connectionGlobalStatus.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { ConnectionSummary } from 'azdata'; -import * as LocalizedConstants from 'sql/workbench/contrib/connection/common/localizedConstants'; +import * as LocalizedConstants from 'sql/workbench/services/connection/browser/localizedConstants'; import { INotificationService } from 'vs/platform/notification/common/notification'; // Status when making connections from the viewlet diff --git a/src/sql/workbench/services/connection/browser/connectionManagementService.ts b/src/sql/workbench/services/connection/browser/connectionManagementService.ts index a959464c09..d43c7256ca 100644 --- a/src/sql/workbench/services/connection/browser/connectionManagementService.ts +++ b/src/sql/workbench/services/connection/browser/connectionManagementService.ts @@ -15,10 +15,10 @@ import { ConnectionManagementInfo } from 'sql/platform/connection/common/connect import * as Utils from 'sql/platform/connection/common/utils'; import * as Constants from 'sql/platform/connection/common/constants'; import { ICapabilitiesService, ConnectionProviderProperties, ProviderFeatures } from 'sql/platform/capabilities/common/capabilitiesService'; -import * as ConnectionContracts from 'sql/workbench/contrib/connection/common/connection'; +import * as ConnectionContracts from 'sql/workbench/services/connection/browser/connection'; import { ConnectionStatusManager } from 'sql/platform/connection/common/connectionStatusManager'; -import { DashboardInput } from 'sql/workbench/contrib/dashboard/browser/dashboardInput'; -import { ConnectionGlobalStatus } from 'sql/workbench/contrib/connection/common/connectionGlobalStatus'; +import { DashboardInput } from 'sql/workbench/browser/editor/profiler/dashboardInput'; +import { ConnectionGlobalStatus } from 'sql/workbench/services/connection/browser/connectionGlobalStatus'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { IResourceProviderService } from 'sql/workbench/services/resourceProvider/common/resourceProviderService'; import { IAngularEventingService, AngularEventType } from 'sql/platform/angularEventing/browser/angularEventingService'; diff --git a/src/sql/workbench/contrib/connection/common/localizedConstants.ts b/src/sql/workbench/services/connection/browser/localizedConstants.ts similarity index 100% rename from src/sql/workbench/contrib/connection/common/localizedConstants.ts rename to src/sql/workbench/services/connection/browser/localizedConstants.ts diff --git a/src/sql/workbench/contrib/connection/browser/recentConnectionTreeController.ts b/src/sql/workbench/services/connection/browser/recentConnectionTreeController.ts similarity index 99% rename from src/sql/workbench/contrib/connection/browser/recentConnectionTreeController.ts rename to src/sql/workbench/services/connection/browser/recentConnectionTreeController.ts index b46d41bbf8..06654684e8 100644 --- a/src/sql/workbench/contrib/connection/browser/recentConnectionTreeController.ts +++ b/src/sql/workbench/services/connection/browser/recentConnectionTreeController.ts @@ -7,7 +7,7 @@ import { DefaultController, ICancelableEvent } from 'vs/base/parts/tree/browser/ import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { ITree } from 'vs/base/parts/tree/browser/tree'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; -import { ClearSingleRecentConnectionAction } from 'sql/workbench/contrib/connection/browser/connectionActions'; +import { ClearSingleRecentConnectionAction } from 'sql/workbench/services/connection/browser/connectionActions'; import { ContributableActionProvider } from 'vs/workbench/browser/actions'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; diff --git a/src/sql/workbench/contrib/connection/browser/savedConnectionTreeController.ts b/src/sql/workbench/services/connection/browser/savedConnectionTreeController.ts similarity index 100% rename from src/sql/workbench/contrib/connection/browser/savedConnectionTreeController.ts rename to src/sql/workbench/services/connection/browser/savedConnectionTreeController.ts diff --git a/src/sql/workbench/contrib/connection/common/serverInfoContextKey.ts b/src/sql/workbench/services/connection/common/serverInfoContextKey.ts similarity index 100% rename from src/sql/workbench/contrib/connection/common/serverInfoContextKey.ts rename to src/sql/workbench/services/connection/common/serverInfoContextKey.ts diff --git a/src/sql/workbench/services/dashboard/browser/common/interfaces.ts b/src/sql/workbench/services/dashboard/browser/common/interfaces.ts new file mode 100644 index 0000000000..e58c5da20c --- /dev/null +++ b/src/sql/workbench/services/dashboard/browser/common/interfaces.ts @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export interface IDashboardTab { + id: string; + title: string; + provider: string | string[]; + publisher: string; + description?: string; + container?: { + [key: string]: any; + }; + when?: string; + alwaysShow?: boolean; + isHomeTab?: boolean; +} diff --git a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialog.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialog.ts index 4d6863c133..f32fdaaf4a 100644 --- a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialog.ts +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialog.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; -import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; export const INewDashboardTabDialogService = createDecorator('addNewDashboardTabService'); export interface INewDashboardTabDialogService { diff --git a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts index e93c5855fc..d3ebc5b2d8 100644 --- a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts @@ -3,7 +3,6 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!sql/media/icons/common-icons'; import 'vs/css!./media/newDashboardTabDialog'; import * as DOM from 'vs/base/browser/dom'; @@ -22,7 +21,7 @@ import { Modal } from 'sql/workbench/browser/modal/modal'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { NewDashboardTabViewModel, IDashboardUITab } from 'sql/workbench/services/dashboard/browser/newDashboardTabViewModel'; -import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; import { ILogService } from 'vs/platform/log/common/log'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; diff --git a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogService.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogService.ts index 463523305a..64c261b38a 100644 --- a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogService.ts +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogService.ts @@ -5,7 +5,7 @@ import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog'; import { NewDashboardTabDialog } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl'; -import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; import { IAngularEventingService, AngularEventType } from 'sql/platform/angularEventing/browser/angularEventingService'; import { IDashboardUITab } from 'sql/workbench/services/dashboard/browser/newDashboardTabViewModel'; diff --git a/src/sql/workbench/services/dashboard/browser/newDashboardTabViewModel.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabViewModel.ts index 6f0edd62eb..6b3336eac7 100644 --- a/src/sql/workbench/services/dashboard/browser/newDashboardTabViewModel.ts +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabViewModel.ts @@ -5,7 +5,7 @@ import { Event, Emitter } from 'vs/base/common/event'; -import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry'; +import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces'; import { find } from 'vs/base/common/arrays'; diff --git a/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts b/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts index f2932e91fc..1d244e1db4 100644 --- a/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts +++ b/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts @@ -3,7 +3,6 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!sql/media/icons/common-icons'; import 'vs/css!./media/errorMessageDialog'; import { Button } from 'sql/base/browser/ui/button/button'; import { Modal } from 'sql/workbench/browser/modal/modal'; diff --git a/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts b/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts index b2c3d6ceb3..99c6f12ad0 100644 --- a/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts +++ b/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts @@ -3,7 +3,6 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!sql/media/icons/common-icons'; import 'vs/css!./media/fileBrowserDialog'; import { Button } from 'sql/base/browser/ui/button/button'; import { InputBox, OnLoseFocusParams } from 'sql/base/browser/ui/inputBox/inputBox'; diff --git a/src/sql/workbench/services/fileBrowser/browser/fileBrowserRenderer.ts b/src/sql/workbench/services/fileBrowser/browser/fileBrowserRenderer.ts index e249fb5e8f..b4bf2b59b0 100644 --- a/src/sql/workbench/services/fileBrowser/browser/fileBrowserRenderer.ts +++ b/src/sql/workbench/services/fileBrowser/browser/fileBrowserRenderer.ts @@ -10,6 +10,7 @@ import { URI } from 'vs/base/common/uri'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { toDisposable } from 'vs/base/common/lifecycle'; import { ResourceLabels, DEFAULT_LABELS_CONTAINER } from 'vs/workbench/browser/labels'; +// eslint-disable-next-line code-import-patterns import { IFileTemplateData } from 'vs/workbench/contrib/files/browser/views/explorerViewer'; const EmptyDisposable = toDisposable(() => null); diff --git a/src/sql/workbench/services/fileBrowser/browser/fileBrowserTreeView.ts b/src/sql/workbench/services/fileBrowser/browser/fileBrowserTreeView.ts index 2a65d1d538..f443e80f34 100644 --- a/src/sql/workbench/services/fileBrowser/browser/fileBrowserTreeView.ts +++ b/src/sql/workbench/services/fileBrowser/browser/fileBrowserTreeView.ts @@ -17,7 +17,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { attachListStyler } from 'vs/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { ITree } from 'vs/base/parts/tree/browser/tree'; -import { IExpandableTree } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { IExpandableTree } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; /** * Implements tree view for file browser diff --git a/src/sql/workbench/services/jobManagement/test/electron-browser/jobActions.test.ts b/src/sql/workbench/services/jobManagement/test/electron-browser/jobActions.test.ts index a9e75f2559..1af69c660d 100644 --- a/src/sql/workbench/services/jobManagement/test/electron-browser/jobActions.test.ts +++ b/src/sql/workbench/services/jobManagement/test/electron-browser/jobActions.test.ts @@ -6,7 +6,7 @@ import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; -import { JobsRefreshAction, NewJobAction, EditJobAction, RunJobAction, StopJobAction, DeleteJobAction, NewStepAction, DeleteStepAction, NewAlertAction, EditAlertAction, DeleteAlertAction, NewOperatorAction, EditOperatorAction, DeleteOperatorAction, NewProxyAction, EditProxyAction, DeleteProxyAction } from 'sql/workbench/services/jobManagement/browser/jobActions'; +import { JobsRefreshAction, NewJobAction, EditJobAction, RunJobAction, StopJobAction, DeleteJobAction, NewStepAction, DeleteStepAction, NewAlertAction, EditAlertAction, DeleteAlertAction, NewOperatorAction, EditOperatorAction, DeleteOperatorAction, NewProxyAction, EditProxyAction, DeleteProxyAction } from 'sql/workbench/contrib/jobManagement/browser/jobActions'; import { JobManagementService } from 'sql/workbench/services/jobManagement/common/jobManagementService'; // Mock View Components diff --git a/src/sql/workbench/services/notebook/browser/interfaces.ts b/src/sql/workbench/services/notebook/browser/interfaces.ts new file mode 100644 index 0000000000..fb33308585 --- /dev/null +++ b/src/sql/workbench/services/notebook/browser/interfaces.ts @@ -0,0 +1,23 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { nb } from 'azdata'; +import { mssqlProviderName } from 'sql/platform/connection/common/constants'; +import { localize } from 'vs/nls'; + +export interface FutureInternal extends nb.IFuture { + inProgress: boolean; +} + +export namespace notebookConstants { + export const SQL = 'SQL'; + export const SQL_CONNECTION_PROVIDER = mssqlProviderName; + export const sqlKernel: string = localize('sqlKernel', "SQL"); + export const sqlKernelSpec: nb.IKernelSpec = ({ + name: sqlKernel, + language: 'sql', + display_name: sqlKernel + }); +} diff --git a/src/sql/workbench/contrib/notebook/browser/models/cell.ts b/src/sql/workbench/services/notebook/browser/models/cell.ts similarity index 98% rename from src/sql/workbench/contrib/notebook/browser/models/cell.ts rename to src/sql/workbench/services/notebook/browser/models/cell.ts index f3f421be5f..6dcf47173d 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/cell.ts +++ b/src/sql/workbench/services/notebook/browser/models/cell.ts @@ -9,10 +9,10 @@ import { Event, Emitter } from 'vs/base/common/event'; import { URI } from 'vs/base/common/uri'; import { localize } from 'vs/nls'; -import * as notebookUtils from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; +import * as notebookUtils from 'sql/workbench/services/notebook/browser/models/notebookUtils'; import { CellTypes, CellType, NotebookChangeType } from 'sql/workbench/services/notebook/common/contracts'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; -import { ICellModel, notebookConstants, IOutputChangedEvent, FutureInternal, CellExecutionState, ICellModelOptions } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; +import { ICellModel, IOutputChangedEvent, CellExecutionState, ICellModelOptions } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; @@ -24,6 +24,7 @@ import { generateUuid } from 'vs/base/common/uuid'; import { IModelContentChangedEvent } from 'vs/editor/common/model/textModelEvents'; import { firstIndex, find } from 'vs/base/common/arrays'; import { HideInputTag } from 'sql/platform/notebooks/common/outputRegistry'; +import { FutureInternal, notebookConstants } from 'sql/workbench/services/notebook/browser/interfaces'; let modelId = 0; diff --git a/src/sql/workbench/contrib/notebook/browser/models/clientSession.ts b/src/sql/workbench/services/notebook/browser/models/clientSession.ts similarity index 99% rename from src/sql/workbench/contrib/notebook/browser/models/clientSession.ts rename to src/sql/workbench/services/notebook/browser/models/clientSession.ts index bcb73844f8..51bddf77af 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/clientSession.ts +++ b/src/sql/workbench/services/notebook/browser/models/clientSession.ts @@ -11,7 +11,7 @@ import { Event, Emitter } from 'vs/base/common/event'; import { localize } from 'vs/nls'; import { getErrorMessage } from 'vs/base/common/errors'; -import { IClientSession, IKernelPreference, IClientSessionOptions } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { IClientSession, IKernelPreference, IClientSessionOptions } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { Deferred } from 'sql/base/common/promise'; import { INotebookManager } from 'sql/workbench/services/notebook/browser/notebookService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; diff --git a/src/sql/workbench/contrib/notebook/browser/models/modelFactory.ts b/src/sql/workbench/services/notebook/browser/models/modelFactory.ts similarity index 77% rename from src/sql/workbench/contrib/notebook/browser/models/modelFactory.ts rename to src/sql/workbench/services/notebook/browser/models/modelFactory.ts index 7183f91a19..e5c120295d 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/modelFactory.ts +++ b/src/sql/workbench/services/notebook/browser/models/modelFactory.ts @@ -5,9 +5,9 @@ import { nb } from 'azdata'; -import { CellModel } from 'sql/workbench/contrib/notebook/browser/models/cell'; -import { IClientSession, IClientSessionOptions, ICellModelOptions, ICellModel, IModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; -import { ClientSession } from 'sql/workbench/contrib/notebook/browser/models/clientSession'; +import { CellModel } from 'sql/workbench/services/notebook/browser/models/cell'; +import { IClientSession, IClientSessionOptions, ICellModelOptions, ICellModel, IModelFactory } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; +import { ClientSession } from 'sql/workbench/services/notebook/browser/models/clientSession'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; export class ModelFactory implements IModelFactory { diff --git a/src/sql/workbench/contrib/notebook/browser/models/modelInterfaces.ts b/src/sql/workbench/services/notebook/browser/models/modelInterfaces.ts similarity index 85% rename from src/sql/workbench/contrib/notebook/browser/models/modelInterfaces.ts rename to src/sql/workbench/services/notebook/browser/models/modelInterfaces.ts index fa9abe87ff..c81e9191ca 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/modelInterfaces.ts +++ b/src/sql/workbench/services/notebook/browser/models/modelInterfaces.ts @@ -16,15 +16,12 @@ import { INotebookManager, ILanguageMagic } from 'sql/workbench/services/noteboo import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { IStandardKernelWithProvider } from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; +import { IStandardKernelWithProvider } from 'sql/workbench/services/notebook/browser/models/notebookUtils'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; -import { localize } from 'vs/nls'; -import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel'; -import { mssqlProviderName } from 'sql/platform/connection/common/constants'; -import { IModelDecorationsChangeAccessor } from 'vs/editor/common/model'; +import { NotebookModel } from 'sql/workbench/services/notebook/browser/models/notebookModel'; import { IModelContentChangedEvent } from 'vs/editor/common/model/textModelEvents'; -import { NotebookRange, NotebookFindMatch } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; +import type { FutureInternal } from 'sql/workbench/services/notebook/browser/interfaces'; export interface IClientSessionOptions { notebookUri: URI; @@ -416,61 +413,6 @@ export interface INotebookModel { } -export interface INotebookFindModel { - /** Get the find count */ - getFindCount(): number; - - /** Get the find index */ - getFindIndex(): number; - - /** find the next match */ - findNext(): Promise; - - /** find the previous match */ - findPrevious(): Promise; - - /** search the notebook model for the given exp up to maxMatch occurances */ - find(exp: string, matchCase?: boolean, wholeWord?: boolean, maxMatches?: number): Promise; - - /** clear the results of the find */ - clearFind(): void; - - /** return the find results with their ranges */ - findArray: NotebookRange[]; - - /** - * Get the range associated with a decoration. - * @param id The decoration id. - * @return The decoration range or null if the decoration was not found. - */ - getDecorationRange(id: string): NotebookRange | null; - - /** - * Get the range associated with a decoration. - * @param callback that accepts changeAccessor which applies the decorations - * @param ownerId the owner id - * @return The decoration range or null if the decoration was not found. - */ - changeDecorations(callback: (changeAccessor: IModelDecorationsChangeAccessor) => T, ownerId: number): T | null; - - /** - * Get the maximum legal column for line at `lineNumber` - */ - getLineMaxColumn(lineNumber: number): number; - - /** - * Get the number of lines in the model. - */ - getLineCount(): number; - - findMatches: NotebookFindMatch[]; - - findExpression: string; - - /** Emit event when the find count changes */ - onFindCountChange: Event; -} - export interface NotebookContentChange { /** * The type of change that occurred @@ -546,10 +488,6 @@ export interface ICellModel { readonly ariaLabel: string; } -export interface FutureInternal extends nb.IFuture { - inProgress: boolean; -} - export interface IModelFactory { createCell(cell: nb.ICellContents, options: ICellModelOptions): ICellModel; @@ -597,17 +535,6 @@ export interface ICellMagicMapper { toLanguageMagic(magic: string, kernelId: string): ILanguageMagic | undefined; } -export namespace notebookConstants { - export const SQL = 'SQL'; - export const SQL_CONNECTION_PROVIDER = mssqlProviderName; - export const sqlKernel: string = localize('sqlKernel', "SQL"); - export const sqlKernelSpec: nb.IKernelSpec = ({ - name: sqlKernel, - language: 'sql', - display_name: sqlKernel - }); -} - export interface INotebookContentsEditable { cells: nb.ICellContents[]; metadata: nb.INotebookMetadata; diff --git a/src/sql/workbench/contrib/notebook/browser/models/notebookContexts.ts b/src/sql/workbench/services/notebook/browser/models/notebookContexts.ts similarity index 100% rename from src/sql/workbench/contrib/notebook/browser/models/notebookContexts.ts rename to src/sql/workbench/services/notebook/browser/models/notebookContexts.ts diff --git a/src/sql/workbench/contrib/notebook/browser/models/notebookModel.ts b/src/sql/workbench/services/notebook/browser/models/notebookModel.ts similarity index 98% rename from src/sql/workbench/contrib/notebook/browser/models/notebookModel.ts rename to src/sql/workbench/services/notebook/browser/models/notebookModel.ts index e68b0c8f75..4caa183245 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/notebookModel.ts +++ b/src/sql/workbench/services/notebook/browser/models/notebookModel.ts @@ -9,13 +9,13 @@ import { localize } from 'vs/nls'; import { Event, Emitter } from 'vs/base/common/event'; import { Disposable } from 'vs/base/common/lifecycle'; -import { IClientSession, INotebookModel, INotebookModelOptions, ICellModel, NotebookContentChange, notebookConstants } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { IClientSession, INotebookModel, INotebookModelOptions, ICellModel, NotebookContentChange } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { NotebookChangeType, CellType, CellTypes } from 'sql/workbench/services/notebook/common/contracts'; import { nbversion } from 'sql/workbench/services/notebook/common/notebookConstants'; -import * as notebookUtils from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; +import * as notebookUtils from 'sql/workbench/services/notebook/browser/models/notebookUtils'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { INotebookManager, SQL_NOTEBOOK_PROVIDER, DEFAULT_NOTEBOOK_PROVIDER } from 'sql/workbench/services/notebook/browser/notebookService'; -import { NotebookContexts } from 'sql/workbench/contrib/notebook/browser/models/notebookContexts'; +import { NotebookContexts } from 'sql/workbench/services/notebook/browser/models/notebookContexts'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { INotification, Severity, INotificationService } from 'vs/platform/notification/common/notification'; import { URI } from 'vs/base/common/uri'; @@ -28,6 +28,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { getErrorMessage } from 'vs/base/common/errors'; import { find, firstIndex } from 'vs/base/common/arrays'; import { startsWith } from 'vs/base/common/strings'; +import { notebookConstants } from 'sql/workbench/services/notebook/browser/interfaces'; /* * Used to control whether a message in a dialog/wizard is displayed as an error, diff --git a/src/sql/workbench/contrib/notebook/browser/models/notebookUtils.ts b/src/sql/workbench/services/notebook/browser/models/notebookUtils.ts similarity index 94% rename from src/sql/workbench/contrib/notebook/browser/models/notebookUtils.ts rename to src/sql/workbench/services/notebook/browser/models/notebookUtils.ts index fdf5f6b562..9d12452b81 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/notebookUtils.ts +++ b/src/sql/workbench/services/notebook/browser/models/notebookUtils.ts @@ -60,7 +60,6 @@ export interface IStandardKernelWithProvider { readonly notebookProvider: string; } - export interface IEndpoint { serviceName: string; description: string; @@ -68,17 +67,6 @@ export interface IEndpoint { protocol: string; } -export function tryMatchCellMagic(input: string): string { - if (!input) { - return input; - } - let firstLine = input.trimLeft(); - let magicRegex = /^%%(\w+)/g; - let match = magicRegex.exec(firstLine); - let magicName = match && match[1]; - return magicName; -} - export async function asyncForEach(array: any[], callback: Function): Promise { if (array && callback) { for (let index = 0; index < array.length; index++) { diff --git a/src/sql/workbench/services/notebook/browser/notebookService.ts b/src/sql/workbench/services/notebook/browser/notebookService.ts index b306d09a35..ed4932bc67 100644 --- a/src/sql/workbench/services/notebook/browser/notebookService.ts +++ b/src/sql/workbench/services/notebook/browser/notebookService.ts @@ -5,19 +5,19 @@ import * as azdata from 'azdata'; -import * as vsEvent from 'vs/base/common/event'; +import { Event } from 'vs/base/common/event'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { URI } from 'vs/base/common/uri'; -import { RenderMimeRegistry } from 'sql/workbench/contrib/notebook/browser/outputs/registry'; -import { ModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelFactory'; +import { RenderMimeRegistry } from 'sql/workbench/services/notebook/browser/outputs/registry'; +import { ModelFactory } from 'sql/workbench/services/notebook/browser/models/modelFactory'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { NotebookInput } from 'sql/workbench/contrib/notebook/browser/models/notebookInput'; import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { ICellModel, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel, INotebookModel, IContentManager } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { NotebookChangeType, CellType } from 'sql/workbench/services/notebook/common/contracts'; import { IBootstrapParams } from 'sql/workbench/services/bootstrap/common/bootstrapParams'; import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor'; -import { NotebookRange } from 'sql/workbench/contrib/notebook/find/notebookFindDecorations'; +import { Range } from 'vs/editor/common/core/range'; +import { IStandardKernelWithProvider } from 'sql/workbench/services/notebook/browser/models/notebookUtils'; export const SERVICE_ID = 'notebookService'; export const INotebookService = createDecorator(SERVICE_ID); @@ -37,9 +37,9 @@ export interface ILanguageMagic { export interface INotebookService { _serviceBrand: undefined; - readonly onNotebookEditorAdd: vsEvent.Event; - readonly onNotebookEditorRemove: vsEvent.Event; - onNotebookEditorRename: vsEvent.Event; + readonly onNotebookEditorAdd: Event; + readonly onNotebookEditorRemove: Event; + onNotebookEditorRename: Event; readonly isRegistrationComplete: boolean; readonly registrationComplete: Promise; @@ -131,9 +131,21 @@ export interface IProviderInfo { providerId: string; providers: string[]; } + +export interface INotebookInput { + readonly notebookUri: URI; + updateModel(): void; + isDirty(): boolean; + readonly defaultKernel: azdata.nb.IKernelSpec; + readonly editorOpenedTimestamp: number; + readonly contentManager: IContentManager; + readonly standardKernels: IStandardKernelWithProvider[]; + readonly layoutChanged: Event; +} + export interface INotebookParams extends IBootstrapParams { notebookUri: URI; - input: NotebookInput; + input: INotebookInput; providerInfo: Promise; profile?: IConnectionProfile; modelFactory?: ModelFactory; @@ -155,6 +167,18 @@ export interface ICellEditorProvider { deltaDecorations(newDecorationRange: NotebookRange, oldDecorationRange: NotebookRange): void; } +export class NotebookRange extends Range { + updateActiveCell(cell: ICellModel) { + this.cell = cell; + } + cell: ICellModel; + + constructor(cell: ICellModel, startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number) { + super(startLineNumber, startColumn, endLineNumber, endColumn); + this.updateActiveCell(cell); + } +} + export interface INotebookEditor { readonly notebookParams: INotebookParams; readonly id: string; @@ -173,7 +197,7 @@ export interface INotebookEditor { getSections(): INotebookSection[]; navigateToSection(sectionId: string): void; deltaDecorations(newDecorationRange: NotebookRange, oldDecorationRange: NotebookRange): void; - addCell(cellType: CellType, index?: number, event?: Event); + addCell(cellType: CellType, index?: number, event?: UIEvent); } export interface INavigationProvider { diff --git a/src/sql/workbench/services/notebook/browser/notebookServiceImpl.ts b/src/sql/workbench/services/notebook/browser/notebookServiceImpl.ts index 632a5caaab..4c39089cdb 100644 --- a/src/sql/workbench/services/notebook/browser/notebookServiceImpl.ts +++ b/src/sql/workbench/services/notebook/browser/notebookServiceImpl.ts @@ -10,10 +10,10 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { INotebookService, INotebookManager, INotebookProvider, - DEFAULT_NOTEBOOK_FILETYPE, INotebookEditor, SQL_NOTEBOOK_PROVIDER, OVERRIDE_EDITOR_THEMING_SETTING, INavigationProvider, ILanguageMagic + DEFAULT_NOTEBOOK_FILETYPE, INotebookEditor, SQL_NOTEBOOK_PROVIDER, INavigationProvider, ILanguageMagic } from 'sql/workbench/services/notebook/browser/notebookService'; -import { RenderMimeRegistry } from 'sql/workbench/contrib/notebook/browser/outputs/registry'; -import { standardRendererFactories } from 'sql/workbench/contrib/notebook/browser/outputs/factories'; +import { RenderMimeRegistry } from 'sql/workbench/services/notebook/browser/outputs/registry'; +import { standardRendererFactories } from 'sql/workbench/services/notebook/browser/outputs/factories'; import { Extensions, INotebookProviderRegistry, NotebookProviderRegistration } from 'sql/workbench/services/notebook/common/notebookRegistry'; import { Emitter, Event } from 'vs/base/common/event'; import { Memento } from 'vs/workbench/common/memento'; @@ -23,17 +23,10 @@ import { IExtensionManagementService, IExtensionIdentifier } from 'vs/platform/e import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; import { Deferred } from 'sql/base/common/promise'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; -import { NotebookEditorVisibleContext } from 'sql/workbench/services/notebook/common/notebookContext'; -import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { NotebookEditor } from 'sql/workbench/contrib/notebook/browser/notebookEditor'; -import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { registerNotebookThemes } from 'sql/workbench/contrib/notebook/browser/notebookStyles'; import { IQueryManagementService } from 'sql/workbench/services/query/common/queryManagement'; -import { notebookConstants, ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; +import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces'; import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle'; import { SqlNotebookProvider } from 'sql/workbench/services/notebook/browser/sql/sqlNotebookProvider'; -import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService'; import { keys } from 'vs/base/common/map'; import { IFileService, IFileStatWithMetadata } from 'vs/platform/files/common/files'; import { Schemas } from 'vs/base/common/network'; @@ -42,6 +35,7 @@ import { toErrorMessage } from 'vs/base/common/errorMessage'; import { NotebookChangeType } from 'sql/workbench/services/notebook/common/contracts'; import { find, firstIndex } from 'vs/base/common/arrays'; import { onUnexpectedError } from 'vs/base/common/errors'; +import { notebookConstants } from 'sql/workbench/services/notebook/browser/interfaces'; export interface NotebookProviderProperties { provider: string; @@ -109,9 +103,7 @@ export class NotebookService extends Disposable implements INotebookService { private _providerToStandardKernels = new Map(); private _registrationComplete = new Deferred(); private _isRegistrationComplete = false; - private notebookEditorVisible: IContextKey; private _themeParticipant: IDisposable; - private _overrideEditorThemeSetting: boolean; private _trustedCacheQueue: URI[] = []; private _unTrustedCacheQueue: URI[] = []; @@ -121,10 +113,6 @@ export class NotebookService extends Disposable implements INotebookService { @IExtensionService private _extensionService: IExtensionService, @IExtensionManagementService extensionManagementService: IExtensionManagementService, @IInstantiationService private _instantiationService: IInstantiationService, - @IContextKeyService private _contextKeyService: IContextKeyService, - @IEditorService private readonly _editorService: IEditorService, - @IEditorGroupsService private readonly _editorGroupsService: IEditorGroupsService, - @IConfigurationService private readonly _configurationService: IConfigurationService, @IFileService private readonly _fileService: IFileService, @ILogService private readonly _logService: ILogService, @IQueryManagementService private readonly _queryManagementService: IQueryManagementService, @@ -166,9 +154,6 @@ export class NotebookService extends Disposable implements INotebookService { } lifecycleService.onWillShutdown(() => this.shutdown()); - this.hookContextKeyListeners(); - this.hookNotebookThemesAndConfigListener(); - } public dispose(): void { @@ -178,34 +163,6 @@ export class NotebookService extends Disposable implements INotebookService { } } - private hookContextKeyListeners(): void { - const updateEditorContextKeys = () => { - const visibleEditors = this._editorService.visibleControls; - this.notebookEditorVisible.set(visibleEditors.some(control => control.getId() === NotebookEditor.ID)); - }; - if (this._contextKeyService) { - this.notebookEditorVisible = NotebookEditorVisibleContext.bindTo(this._contextKeyService); - } - if (this._editorService) { - this._register(this._editorService.onDidActiveEditorChange(() => updateEditorContextKeys())); - this._register(this._editorService.onDidVisibleEditorsChange(() => updateEditorContextKeys())); - this._register(this._editorGroupsService.onDidAddGroup(() => updateEditorContextKeys())); - this._register(this._editorGroupsService.onDidRemoveGroup(() => updateEditorContextKeys())); - } - } - - private hookNotebookThemesAndConfigListener(): void { - if (this._configurationService) { - this.updateNotebookThemes(); - this._register(this._configurationService.onDidChangeConfiguration(e => { - if (e.affectsConfiguration(OVERRIDE_EDITOR_THEMING_SETTING) - || e.affectsConfiguration('resultsGrid')) { - this.updateNotebookThemes(); - } - })); - } - } - private updateSQLRegistrationWithConnectionProviders() { // Update the SQL extension let sqlNotebookProvider = this._providerToStandardKernels.get(notebookConstants.SQL); @@ -224,19 +181,6 @@ export class NotebookService extends Disposable implements INotebookService { this._registrationComplete.resolve(); } - private updateNotebookThemes() { - let overrideEditorSetting = this._configurationService.getValue(OVERRIDE_EDITOR_THEMING_SETTING); - if (overrideEditorSetting !== this._overrideEditorThemeSetting) { - // Re-add the participant since this will trigger update of theming rules, can't just - // update something and ask to change - if (this._themeParticipant) { - this._themeParticipant.dispose(); - } - this._overrideEditorThemeSetting = overrideEditorSetting; - this._themeParticipant = registerNotebookThemes(overrideEditorSetting, this._configurationService); - } - } - private updateRegisteredProviders(p: { id: string; registration: NotebookProviderRegistration; }) { let registration = p.registration; diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/factories.ts b/src/sql/workbench/services/notebook/browser/outputs/factories.ts similarity index 95% rename from src/sql/workbench/contrib/notebook/browser/outputs/factories.ts rename to src/sql/workbench/services/notebook/browser/outputs/factories.ts index 692cc8dd9b..d19fb24557 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/factories.ts +++ b/src/sql/workbench/services/notebook/browser/outputs/factories.ts @@ -3,8 +3,8 @@ | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ -import * as widgets from './widgets'; -import { IRenderMime } from '../models/renderMimeInterfaces'; +import * as widgets from 'sql/workbench/contrib/notebook/browser/outputs/widgets'; +import { IRenderMime } from './renderMimeInterfaces'; /** * A mime renderer factory for raw html. diff --git a/src/sql/workbench/contrib/notebook/browser/models/mimemodel.ts b/src/sql/workbench/services/notebook/browser/outputs/mimemodel.ts similarity index 92% rename from src/sql/workbench/contrib/notebook/browser/models/mimemodel.ts rename to src/sql/workbench/services/notebook/browser/outputs/mimemodel.ts index 15875bbd06..adbcfd0aa7 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/mimemodel.ts +++ b/src/sql/workbench/services/notebook/browser/outputs/mimemodel.ts @@ -2,8 +2,9 @@ | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ -import { IRenderMime } from './renderMimeInterfaces'; -import { ReadonlyJSONObject } from '../../../../services/notebook/common/jsonext'; + +import { IRenderMime } from 'sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces'; +import { ReadonlyJSONObject } from 'sql/workbench/services/notebook/common/jsonext'; import { IThemeService } from 'vs/platform/theme/common/themeService'; /** diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/registry.ts b/src/sql/workbench/services/notebook/browser/outputs/registry.ts similarity index 96% rename from src/sql/workbench/contrib/notebook/browser/outputs/registry.ts rename to src/sql/workbench/services/notebook/browser/outputs/registry.ts index 168209701e..9b94da3a69 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/registry.ts +++ b/src/sql/workbench/services/notebook/browser/outputs/registry.ts @@ -1,13 +1,12 @@ - /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ import { defaultSanitizer } from './sanitizer'; -import type { IRenderMime } from 'sql/workbench/contrib/notebook/browser/models/renderMimeInterfaces'; -import type { ReadonlyJSONObject } from 'sql/workbench/services/notebook/common/jsonext'; -import { MimeModel } from 'sql/workbench/contrib/notebook/browser/models/mimemodel'; +import { ReadonlyJSONObject } from 'sql/workbench/services/notebook/common/jsonext'; +import { IRenderMime } from 'sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces'; +import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel'; /** * An object which manages mime renderer factories. diff --git a/src/sql/workbench/contrib/notebook/browser/models/renderMimeInterfaces.ts b/src/sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces.ts similarity index 99% rename from src/sql/workbench/contrib/notebook/browser/models/renderMimeInterfaces.ts rename to src/sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces.ts index cae80c32c2..0b7b203b6e 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/renderMimeInterfaces.ts +++ b/src/sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces.ts @@ -1,4 +1,3 @@ - /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/sanitizer.ts b/src/sql/workbench/services/notebook/browser/outputs/sanitizer.ts similarity index 100% rename from src/sql/workbench/contrib/notebook/browser/outputs/sanitizer.ts rename to src/sql/workbench/services/notebook/browser/outputs/sanitizer.ts diff --git a/src/sql/workbench/services/notebook/browser/sessionManager.ts b/src/sql/workbench/services/notebook/browser/sessionManager.ts index 33fc138933..5b3312d834 100644 --- a/src/sql/workbench/services/notebook/browser/sessionManager.ts +++ b/src/sql/workbench/services/notebook/browser/sessionManager.ts @@ -5,8 +5,8 @@ import { nb } from 'azdata'; import { localize } from 'vs/nls'; -import { FutureInternal } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; +import type { FutureInternal } from 'sql/workbench/services/notebook/browser/interfaces'; export const noKernel: string = localize('noKernel', "No Kernel"); const runNotebookDisabled = localize('runNotebookDisabled', "Cannot run cells as no kernel has been configured"); diff --git a/src/sql/workbench/services/notebook/browser/sql/sqlSessionManager.ts b/src/sql/workbench/services/notebook/browser/sql/sqlSessionManager.ts index 72ba20888f..4cb12eeefc 100644 --- a/src/sql/workbench/services/notebook/browser/sql/sqlSessionManager.ts +++ b/src/sql/workbench/services/notebook/browser/sql/sqlSessionManager.ts @@ -5,7 +5,6 @@ import { nb, QueryExecuteSubsetResult, IDbColumn, BatchSummary, IResultMessage, ResultSetSummary } from 'azdata'; import { localize } from 'vs/nls'; -import { FutureInternal, notebookConstants } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces'; import QueryRunner from 'sql/workbench/services/query/common/queryRunner'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -16,7 +15,6 @@ import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMess import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { escape } from 'sql/base/common/strings'; -import * as notebookUtils from 'sql/workbench/contrib/notebook/browser/models/notebookUtils'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { ILogService } from 'vs/platform/log/common/log'; @@ -28,6 +26,8 @@ import { getUriPrefix, uriPrefixes } from 'sql/platform/connection/common/utils' import { firstIndex } from 'vs/base/common/arrays'; import { startsWith } from 'vs/base/common/strings'; import { onUnexpectedError } from 'vs/base/common/errors'; +import { FutureInternal, notebookConstants } from 'sql/workbench/services/notebook/browser/interfaces'; +import { tryMatchCellMagic } from 'sql/workbench/services/notebook/browser/utils'; export const sqlKernelError: string = localize("sqlKernelError", "SQL kernel error"); export const MAX_ROWS = 5000; @@ -312,7 +312,7 @@ class SqlKernel extends Disposable implements nb.IKernel { // Strip out the line code = code.substring(firstLineEnd, code.length); // Try and match to an external script magic. If we add more magics later, should handle transforms better - let magic = notebookUtils.tryMatchCellMagic(firstLine); + let magic = tryMatchCellMagic(firstLine); if (magic) { let executor = this._magicToExecutorMap.get(magic.toLowerCase()); if (executor) { diff --git a/src/sql/workbench/services/notebook/browser/utils.ts b/src/sql/workbench/services/notebook/browser/utils.ts new file mode 100644 index 0000000000..e9d83db898 --- /dev/null +++ b/src/sql/workbench/services/notebook/browser/utils.ts @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export function tryMatchCellMagic(input: string): string { + if (!input) { + return input; + } + let firstLine = input.trimLeft(); + let magicRegex = /^%%(\w+)/g; + let match = magicRegex.exec(firstLine); + let magicName = match && match[1]; + return magicName; +} diff --git a/src/sql/workbench/services/notebook/common/notebookContext.ts b/src/sql/workbench/services/notebook/common/notebookContext.ts index e9bff7683c..f0ccba939d 100644 --- a/src/sql/workbench/services/notebook/common/notebookContext.ts +++ b/src/sql/workbench/services/notebook/common/notebookContext.ts @@ -3,14 +3,9 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { RawContextKey } from 'vs/platform/contextkey/common/contextkey'; - /** * Context Keys to use with keybindings for the notebook editor */ -export const notebookEditorVisibleId = 'notebookEditorVisible'; - -export const NotebookEditorVisibleContext = new RawContextKey(notebookEditorVisibleId, false); export const NOTEBOOK_COMMAND_SEARCH = 'notebook.command.search'; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/connectionTreeAction.ts b/src/sql/workbench/services/objectExplorer/browser/connectionTreeAction.ts similarity index 96% rename from src/sql/workbench/contrib/objectExplorer/browser/connectionTreeAction.ts rename to src/sql/workbench/services/objectExplorer/browser/connectionTreeAction.ts index e04c6d247e..195d4adb2d 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/connectionTreeAction.ts +++ b/src/sql/workbench/services/objectExplorer/browser/connectionTreeAction.ts @@ -7,19 +7,23 @@ import { localize } from 'vs/nls'; import { Action } from 'vs/base/common/actions'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeView'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; import { ITree } from 'vs/base/parts/tree/browser/tree'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import Severity from 'vs/base/common/severity'; -import { ObjectExplorerActionsContext } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; +import { ObjectExplorerActionsContext } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; import { UNSAVED_GROUP_ID } from 'sql/platform/connection/common/constants'; import { IServerGroupController } from 'sql/platform/serverGroup/common/serverGroupController'; import { ILogService } from 'vs/platform/log/common/log'; +export interface IServerView { + showFilteredTree(filter: string): void; + refreshTree(): void; +} + export class RefreshAction extends Action { public static ID = 'objectExplorer.refresh'; @@ -219,7 +223,7 @@ export class ActiveConnectionsFilterAction extends Action { constructor( id: string, label: string, - private view: ServerTreeView + private view: IServerView ) { super(id, label); this.class = ActiveConnectionsFilterAction.enabledClass; @@ -265,7 +269,7 @@ export class RecentConnectionsFilterAction extends Action { constructor( id: string, label: string, - private view: ServerTreeView + private view: IServerView ) { super(id, label); this.class = RecentConnectionsFilterAction.enabledClass; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/dragAndDropController.ts b/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts similarity index 98% rename from src/sql/workbench/contrib/objectExplorer/browser/dragAndDropController.ts rename to src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts index b1f34efd51..a640982df8 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/dragAndDropController.ts +++ b/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts @@ -8,7 +8,7 @@ import { ConnectionProfile } from 'sql/platform/connection/common/connectionProf import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ITree, IDragAndDrop, IDragOverReaction, DRAG_OVER_ACCEPT_BUBBLE_DOWN, DRAG_OVER_REJECT } from 'vs/base/parts/tree/browser/tree'; import { DragMouseEvent } from 'vs/base/browser/mouseEvent'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { UNSAVED_GROUP_ID } from 'sql/platform/connection/common/constants'; import { IDragAndDropData } from 'vs/base/browser/dnd'; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/iconRenderer.ts b/src/sql/workbench/services/objectExplorer/browser/iconRenderer.ts similarity index 100% rename from src/sql/workbench/contrib/objectExplorer/browser/iconRenderer.ts rename to src/sql/workbench/services/objectExplorer/browser/iconRenderer.ts diff --git a/src/sql/media/objectTypes/AggregateFunction.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AggregateFunction.svg similarity index 100% rename from src/sql/media/objectTypes/AggregateFunction.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AggregateFunction.svg diff --git a/src/sql/media/objectTypes/AggregateFunctionParameter_Input.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AggregateFunctionParameter_Input.svg similarity index 100% rename from src/sql/media/objectTypes/AggregateFunctionParameter_Input.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AggregateFunctionParameter_Input.svg diff --git a/src/sql/media/objectTypes/AggregateFunctionParameter_Output.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AggregateFunctionParameter_Output.svg similarity index 100% rename from src/sql/media/objectTypes/AggregateFunctionParameter_Output.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AggregateFunctionParameter_Output.svg diff --git a/src/sql/media/objectTypes/AggregateFunctionParameter_Return.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AggregateFunctionParameter_Return.svg similarity index 100% rename from src/sql/media/objectTypes/AggregateFunctionParameter_Return.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AggregateFunctionParameter_Return.svg diff --git a/src/sql/media/objectTypes/ApplicationRole.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ApplicationRole.svg similarity index 100% rename from src/sql/media/objectTypes/ApplicationRole.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ApplicationRole.svg diff --git a/src/sql/media/objectTypes/Assembly.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Assembly.svg similarity index 100% rename from src/sql/media/objectTypes/Assembly.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Assembly.svg diff --git a/src/sql/media/objectTypes/AsymmetricKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AsymmetricKey.svg similarity index 100% rename from src/sql/media/objectTypes/AsymmetricKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/AsymmetricKey.svg diff --git a/src/sql/media/objectTypes/BrokerPriority.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/BrokerPriority.svg similarity index 100% rename from src/sql/media/objectTypes/BrokerPriority.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/BrokerPriority.svg diff --git a/src/sql/media/objectTypes/Certificate.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Certificate.svg similarity index 100% rename from src/sql/media/objectTypes/Certificate.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Certificate.svg diff --git a/src/sql/media/objectTypes/Column.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Column.svg similarity index 100% rename from src/sql/media/objectTypes/Column.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Column.svg diff --git a/src/sql/media/objectTypes/ColumnEncryptionKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ColumnEncryptionKey.svg similarity index 100% rename from src/sql/media/objectTypes/ColumnEncryptionKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ColumnEncryptionKey.svg diff --git a/src/sql/media/objectTypes/ColumnMasterKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ColumnMasterKey.svg similarity index 100% rename from src/sql/media/objectTypes/ColumnMasterKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ColumnMasterKey.svg diff --git a/src/sql/media/objectTypes/Constraint.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Constraint.svg similarity index 100% rename from src/sql/media/objectTypes/Constraint.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Constraint.svg diff --git a/src/sql/media/objectTypes/Contract.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Contract.svg similarity index 100% rename from src/sql/media/objectTypes/Contract.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Contract.svg diff --git a/src/sql/media/objectTypes/Database.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Database.svg similarity index 100% rename from src/sql/media/objectTypes/Database.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Database.svg diff --git a/src/sql/media/objectTypes/DatabaseAndQueueEventNotification.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseAndQueueEventNotification.svg similarity index 100% rename from src/sql/media/objectTypes/DatabaseAndQueueEventNotification.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseAndQueueEventNotification.svg diff --git a/src/sql/media/objectTypes/DatabaseAuditSpecification.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseAuditSpecification.svg similarity index 100% rename from src/sql/media/objectTypes/DatabaseAuditSpecification.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseAuditSpecification.svg diff --git a/src/sql/media/objectTypes/DatabaseEncryptionKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseEncryptionKey.svg similarity index 100% rename from src/sql/media/objectTypes/DatabaseEncryptionKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseEncryptionKey.svg diff --git a/src/sql/media/objectTypes/DatabaseRole.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseRole.svg similarity index 100% rename from src/sql/media/objectTypes/DatabaseRole.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseRole.svg diff --git a/src/sql/media/objectTypes/DatabaseScopedCredential.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseScopedCredential.svg similarity index 100% rename from src/sql/media/objectTypes/DatabaseScopedCredential.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseScopedCredential.svg diff --git a/src/sql/media/objectTypes/DatabaseTrigger.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseTrigger.svg similarity index 100% rename from src/sql/media/objectTypes/DatabaseTrigger.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DatabaseTrigger.svg diff --git a/src/sql/media/objectTypes/Database_Unavailable.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Database_Unavailable.svg similarity index 100% rename from src/sql/media/objectTypes/Database_Unavailable.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Database_Unavailable.svg diff --git a/src/sql/media/objectTypes/DefaultIcon.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DefaultIcon.svg similarity index 100% rename from src/sql/media/objectTypes/DefaultIcon.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/DefaultIcon.svg diff --git a/src/sql/media/objectTypes/ExternalDataSource.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ExternalDataSource.svg similarity index 100% rename from src/sql/media/objectTypes/ExternalDataSource.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ExternalDataSource.svg diff --git a/src/sql/media/objectTypes/ExternalFileFormat.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ExternalFileFormat.svg similarity index 100% rename from src/sql/media/objectTypes/ExternalFileFormat.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ExternalFileFormat.svg diff --git a/src/sql/media/objectTypes/FileGroupFile.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/FileGroupFile.svg similarity index 100% rename from src/sql/media/objectTypes/FileGroupFile.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/FileGroupFile.svg diff --git a/src/sql/media/objectTypes/FileGroupFile_mounted.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/FileGroupFile_mounted.svg similarity index 100% rename from src/sql/media/objectTypes/FileGroupFile_mounted.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/FileGroupFile_mounted.svg diff --git a/src/sql/media/objectTypes/Folder.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Folder.svg similarity index 100% rename from src/sql/media/objectTypes/Folder.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Folder.svg diff --git a/src/sql/media/objectTypes/Folder_mounted.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Folder_mounted.svg similarity index 100% rename from src/sql/media/objectTypes/Folder_mounted.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Folder_mounted.svg diff --git a/src/sql/media/objectTypes/FullTextCatalog.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/FullTextCatalog.svg similarity index 100% rename from src/sql/media/objectTypes/FullTextCatalog.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/FullTextCatalog.svg diff --git a/src/sql/media/objectTypes/FullTextStopList.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/FullTextStopList.svg similarity index 100% rename from src/sql/media/objectTypes/FullTextStopList.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/FullTextStopList.svg diff --git a/src/sql/media/objectTypes/Index.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Index.svg similarity index 100% rename from src/sql/media/objectTypes/Index.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Index.svg diff --git a/src/sql/media/objectTypes/Key_ForeignKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Key_ForeignKey.svg similarity index 100% rename from src/sql/media/objectTypes/Key_ForeignKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Key_ForeignKey.svg diff --git a/src/sql/media/objectTypes/Key_PrimaryKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Key_PrimaryKey.svg similarity index 100% rename from src/sql/media/objectTypes/Key_PrimaryKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Key_PrimaryKey.svg diff --git a/src/sql/media/objectTypes/Key_UniqueKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Key_UniqueKey.svg similarity index 100% rename from src/sql/media/objectTypes/Key_UniqueKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Key_UniqueKey.svg diff --git a/src/sql/media/objectTypes/MasterKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/MasterKey.svg similarity index 100% rename from src/sql/media/objectTypes/MasterKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/MasterKey.svg diff --git a/src/sql/media/objectTypes/MessageType.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/MessageType.svg similarity index 100% rename from src/sql/media/objectTypes/MessageType.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/MessageType.svg diff --git a/src/sql/media/objectTypes/PartitionFunction.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/PartitionFunction.svg similarity index 100% rename from src/sql/media/objectTypes/PartitionFunction.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/PartitionFunction.svg diff --git a/src/sql/media/objectTypes/PartitionScheme.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/PartitionScheme.svg similarity index 100% rename from src/sql/media/objectTypes/PartitionScheme.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/PartitionScheme.svg diff --git a/src/sql/media/objectTypes/Queue.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Queue.svg similarity index 100% rename from src/sql/media/objectTypes/Queue.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Queue.svg diff --git a/src/sql/media/objectTypes/RemoteServiceBinding.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/RemoteServiceBinding.svg similarity index 100% rename from src/sql/media/objectTypes/RemoteServiceBinding.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/RemoteServiceBinding.svg diff --git a/src/sql/media/objectTypes/Route.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Route.svg similarity index 100% rename from src/sql/media/objectTypes/Route.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Route.svg diff --git a/src/sql/media/objectTypes/ScalarValuedFunction.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ScalarValuedFunction.svg similarity index 100% rename from src/sql/media/objectTypes/ScalarValuedFunction.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ScalarValuedFunction.svg diff --git a/src/sql/media/objectTypes/ScalarValuedFunctionParameter_Input.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ScalarValuedFunctionParameter_Input.svg similarity index 100% rename from src/sql/media/objectTypes/ScalarValuedFunctionParameter_Input.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ScalarValuedFunctionParameter_Input.svg diff --git a/src/sql/media/objectTypes/ScalarValuedFunctionParameter_Output.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ScalarValuedFunctionParameter_Output.svg similarity index 100% rename from src/sql/media/objectTypes/ScalarValuedFunctionParameter_Output.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ScalarValuedFunctionParameter_Output.svg diff --git a/src/sql/media/objectTypes/ScalarValuedFunctionParameter_Return.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ScalarValuedFunctionParameter_Return.svg similarity index 100% rename from src/sql/media/objectTypes/ScalarValuedFunctionParameter_Return.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ScalarValuedFunctionParameter_Return.svg diff --git a/src/sql/media/objectTypes/Schema.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Schema.svg similarity index 100% rename from src/sql/media/objectTypes/Schema.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Schema.svg diff --git a/src/sql/media/objectTypes/SearchPropertyList.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SearchPropertyList.svg similarity index 100% rename from src/sql/media/objectTypes/SearchPropertyList.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SearchPropertyList.svg diff --git a/src/sql/media/objectTypes/SecurityPolicy.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SecurityPolicy.svg similarity index 100% rename from src/sql/media/objectTypes/SecurityPolicy.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SecurityPolicy.svg diff --git a/src/sql/media/objectTypes/Sequence.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Sequence.svg similarity index 100% rename from src/sql/media/objectTypes/Sequence.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Sequence.svg diff --git a/src/sql/media/objectTypes/Server.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Server.svg similarity index 100% rename from src/sql/media/objectTypes/Server.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Server.svg diff --git a/src/sql/media/objectTypes/ServerLevelCredential.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelCredential.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelCredential.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelCredential.svg diff --git a/src/sql/media/objectTypes/ServerLevelCryptographicProvider.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelCryptographicProvider.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelCryptographicProvider.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelCryptographicProvider.svg diff --git a/src/sql/media/objectTypes/ServerLevelEndpoint.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelEndpoint.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelEndpoint.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelEndpoint.svg diff --git a/src/sql/media/objectTypes/ServerLevelLinkedServer.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLinkedServer.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelLinkedServer.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLinkedServer.svg diff --git a/src/sql/media/objectTypes/ServerLevelLinkedServerLogin.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLinkedServerLogin.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelLinkedServerLogin.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLinkedServerLogin.svg diff --git a/src/sql/media/objectTypes/ServerLevelLinkedServerLogin_Disabled.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLinkedServerLogin_Disabled.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelLinkedServerLogin_Disabled.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLinkedServerLogin_Disabled.svg diff --git a/src/sql/media/objectTypes/ServerLevelLogin.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLogin.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelLogin.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLogin.svg diff --git a/src/sql/media/objectTypes/ServerLevelLogin_Disabled.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLogin_Disabled.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelLogin_Disabled.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelLogin_Disabled.svg diff --git a/src/sql/media/objectTypes/ServerLevelServerAudit.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelServerAudit.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelServerAudit.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelServerAudit.svg diff --git a/src/sql/media/objectTypes/ServerLevelServerAuditSpecification.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelServerAuditSpecification.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelServerAuditSpecification.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelServerAuditSpecification.svg diff --git a/src/sql/media/objectTypes/ServerLevelServerRole.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelServerRole.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelServerRole.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelServerRole.svg diff --git a/src/sql/media/objectTypes/ServerLevelServerTrigger.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelServerTrigger.svg similarity index 100% rename from src/sql/media/objectTypes/ServerLevelServerTrigger.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/ServerLevelServerTrigger.svg diff --git a/src/sql/media/objectTypes/Service.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Service.svg similarity index 100% rename from src/sql/media/objectTypes/Service.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Service.svg diff --git a/src/sql/media/objectTypes/SqlLogFile.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SqlLogFile.svg similarity index 100% rename from src/sql/media/objectTypes/SqlLogFile.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SqlLogFile.svg diff --git a/src/sql/media/objectTypes/Statistic.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Statistic.svg similarity index 100% rename from src/sql/media/objectTypes/Statistic.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Statistic.svg diff --git a/src/sql/media/objectTypes/StoredProcedure.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/StoredProcedure.svg similarity index 100% rename from src/sql/media/objectTypes/StoredProcedure.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/StoredProcedure.svg diff --git a/src/sql/media/objectTypes/StoredProcedureParameter_Input.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/StoredProcedureParameter_Input.svg similarity index 100% rename from src/sql/media/objectTypes/StoredProcedureParameter_Input.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/StoredProcedureParameter_Input.svg diff --git a/src/sql/media/objectTypes/StoredProcedureParameter_Output.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/StoredProcedureParameter_Output.svg similarity index 100% rename from src/sql/media/objectTypes/StoredProcedureParameter_Output.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/StoredProcedureParameter_Output.svg diff --git a/src/sql/media/objectTypes/StoredProcedureParameter_Return.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/StoredProcedureParameter_Return.svg similarity index 100% rename from src/sql/media/objectTypes/StoredProcedureParameter_Return.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/StoredProcedureParameter_Return.svg diff --git a/src/sql/media/objectTypes/SymmetricKey.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SymmetricKey.svg similarity index 100% rename from src/sql/media/objectTypes/SymmetricKey.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SymmetricKey.svg diff --git a/src/sql/media/objectTypes/Synonym.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Synonym.svg similarity index 100% rename from src/sql/media/objectTypes/Synonym.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Synonym.svg diff --git a/src/sql/media/objectTypes/SystemApproximateNumeric.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemApproximateNumeric.svg similarity index 100% rename from src/sql/media/objectTypes/SystemApproximateNumeric.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemApproximateNumeric.svg diff --git a/src/sql/media/objectTypes/SystemBinaryString.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemBinaryString.svg similarity index 100% rename from src/sql/media/objectTypes/SystemBinaryString.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemBinaryString.svg diff --git a/src/sql/media/objectTypes/SystemCharacterString.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemCharacterString.svg similarity index 100% rename from src/sql/media/objectTypes/SystemCharacterString.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemCharacterString.svg diff --git a/src/sql/media/objectTypes/SystemClrDataType.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemClrDataType.svg similarity index 100% rename from src/sql/media/objectTypes/SystemClrDataType.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemClrDataType.svg diff --git a/src/sql/media/objectTypes/SystemContract.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemContract.svg similarity index 100% rename from src/sql/media/objectTypes/SystemContract.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemContract.svg diff --git a/src/sql/media/objectTypes/SystemDateAndTime.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemDateAndTime.svg similarity index 100% rename from src/sql/media/objectTypes/SystemDateAndTime.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemDateAndTime.svg diff --git a/src/sql/media/objectTypes/SystemExactNumeric.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemExactNumeric.svg similarity index 100% rename from src/sql/media/objectTypes/SystemExactNumeric.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemExactNumeric.svg diff --git a/src/sql/media/objectTypes/SystemMessageType.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemMessageType.svg similarity index 100% rename from src/sql/media/objectTypes/SystemMessageType.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemMessageType.svg diff --git a/src/sql/media/objectTypes/SystemOtherDataType.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemOtherDataType.svg similarity index 100% rename from src/sql/media/objectTypes/SystemOtherDataType.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemOtherDataType.svg diff --git a/src/sql/media/objectTypes/SystemQueue.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemQueue.svg similarity index 100% rename from src/sql/media/objectTypes/SystemQueue.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemQueue.svg diff --git a/src/sql/media/objectTypes/SystemService.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemService.svg similarity index 100% rename from src/sql/media/objectTypes/SystemService.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemService.svg diff --git a/src/sql/media/objectTypes/SystemSpatialDataType.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemSpatialDataType.svg similarity index 100% rename from src/sql/media/objectTypes/SystemSpatialDataType.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemSpatialDataType.svg diff --git a/src/sql/media/objectTypes/SystemUnicodeCharacterString.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemUnicodeCharacterString.svg similarity index 100% rename from src/sql/media/objectTypes/SystemUnicodeCharacterString.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/SystemUnicodeCharacterString.svg diff --git a/src/sql/media/objectTypes/Table.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Table.svg similarity index 100% rename from src/sql/media/objectTypes/Table.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Table.svg diff --git a/src/sql/media/objectTypes/TableValuedFunction.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/TableValuedFunction.svg similarity index 100% rename from src/sql/media/objectTypes/TableValuedFunction.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/TableValuedFunction.svg diff --git a/src/sql/media/objectTypes/TableValuedFunctionParameter_Input.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/TableValuedFunctionParameter_Input.svg similarity index 100% rename from src/sql/media/objectTypes/TableValuedFunctionParameter_Input.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/TableValuedFunctionParameter_Input.svg diff --git a/src/sql/media/objectTypes/TableValuedFunctionParameter_Output.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/TableValuedFunctionParameter_Output.svg similarity index 100% rename from src/sql/media/objectTypes/TableValuedFunctionParameter_Output.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/TableValuedFunctionParameter_Output.svg diff --git a/src/sql/media/objectTypes/TableValuedFunctionParameter_Return.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/TableValuedFunctionParameter_Return.svg similarity index 100% rename from src/sql/media/objectTypes/TableValuedFunctionParameter_Return.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/TableValuedFunctionParameter_Return.svg diff --git a/src/sql/media/objectTypes/Table_Temporal.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Table_Temporal.svg similarity index 100% rename from src/sql/media/objectTypes/Table_Temporal.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Table_Temporal.svg diff --git a/src/sql/media/objectTypes/Trigger.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Trigger.svg similarity index 100% rename from src/sql/media/objectTypes/Trigger.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Trigger.svg diff --git a/src/sql/media/objectTypes/Trigger_Disabled.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Trigger_Disabled.svg similarity index 100% rename from src/sql/media/objectTypes/Trigger_Disabled.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/Trigger_Disabled.svg diff --git a/src/sql/media/objectTypes/User.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/User.svg similarity index 100% rename from src/sql/media/objectTypes/User.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/User.svg diff --git a/src/sql/media/objectTypes/UserDefinedDataType.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedDataType.svg similarity index 100% rename from src/sql/media/objectTypes/UserDefinedDataType.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedDataType.svg diff --git a/src/sql/media/objectTypes/UserDefinedTableType.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedTableType.svg similarity index 100% rename from src/sql/media/objectTypes/UserDefinedTableType.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedTableType.svg diff --git a/src/sql/media/objectTypes/UserDefinedTableTypeColumn.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedTableTypeColumn.svg similarity index 100% rename from src/sql/media/objectTypes/UserDefinedTableTypeColumn.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedTableTypeColumn.svg diff --git a/src/sql/media/objectTypes/UserDefinedTableTypeConstraint.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedTableTypeConstraint.svg similarity index 100% rename from src/sql/media/objectTypes/UserDefinedTableTypeConstraint.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedTableTypeConstraint.svg diff --git a/src/sql/media/objectTypes/UserDefinedType.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedType.svg similarity index 100% rename from src/sql/media/objectTypes/UserDefinedType.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/UserDefinedType.svg diff --git a/src/sql/media/objectTypes/User_Disabled.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/User_Disabled.svg similarity index 100% rename from src/sql/media/objectTypes/User_Disabled.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/User_Disabled.svg diff --git a/src/sql/media/objectTypes/View.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/View.svg similarity index 100% rename from src/sql/media/objectTypes/View.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/View.svg diff --git a/src/sql/media/objectTypes/XmlSchemaCollection.svg b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/XmlSchemaCollection.svg similarity index 100% rename from src/sql/media/objectTypes/XmlSchemaCollection.svg rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/XmlSchemaCollection.svg diff --git a/src/sql/media/objectTypes/objecttypes.css b/src/sql/workbench/services/objectExplorer/browser/media/objectTypes/objecttypes.css similarity index 100% rename from src/sql/media/objectTypes/objecttypes.css rename to src/sql/workbench/services/objectExplorer/browser/media/objectTypes/objecttypes.css diff --git a/src/sql/workbench/contrib/objectExplorer/browser/objectExplorerActions.ts b/src/sql/workbench/services/objectExplorer/browser/objectExplorerActions.ts similarity index 90% rename from src/sql/workbench/contrib/objectExplorer/browser/objectExplorerActions.ts rename to src/sql/workbench/services/objectExplorer/browser/objectExplorerActions.ts index ffea99209f..2443b690ec 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/objectExplorerActions.ts +++ b/src/sql/workbench/services/objectExplorer/browser/objectExplorerActions.ts @@ -7,9 +7,9 @@ import { ExecuteCommandAction } from 'vs/platform/actions/common/actions'; import { ICommandService } from 'vs/platform/commands/common/commands'; import * as azdata from 'azdata'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; -import { TreeSelectionHandler } from 'sql/workbench/contrib/objectExplorer/browser/treeSelectionHandler'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; +import { TreeSelectionHandler } from 'sql/workbench/services/objectExplorer/browser/treeSelectionHandler'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; diff --git a/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts b/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts index 6be4cfd6cf..d91ecc36e2 100644 --- a/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts +++ b/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; -import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; @@ -13,7 +13,6 @@ import { Event, Emitter } from 'vs/base/common/event'; import * as azdata from 'azdata'; import * as nls from 'vs/nls'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; -import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeView'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import * as Utils from 'sql/platform/connection/common/utils'; import { ILogService } from 'vs/platform/log/common/log'; @@ -21,6 +20,8 @@ import { entries } from 'sql/base/common/collections'; import { values } from 'vs/base/common/collections'; import { startsWith } from 'vs/base/common/strings'; import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry'; +import { IAction } from 'vs/base/common/actions'; +import { ITree } from 'vs/base/parts/tree/browser/tree'; export const SERVICE_ID = 'ObjectExplorerService'; @@ -30,6 +31,25 @@ export interface NodeExpandInfoWithProviderId extends azdata.ObjectExplorerExpan providerId: string; } +export interface IServerTreeView { + readonly tree: ITree; + readonly onSelectionOrFocusChange: Event; + isObjectExplorerConnectionUri(uri: string): boolean; + deleteObjectExplorerNodeAndRefreshTree(profile: ConnectionProfile): Promise; + getSelection(): Array; + isFocused(): boolean; + refreshElement(node: TreeNode): Promise; + readonly treeActionProvider: { getActions: (tree: ITree, node: TreeNode | ConnectionProfile) => IAction[] } + isExpanded(node: TreeNode | ConnectionProfile): boolean; + reveal(node: TreeNode | ConnectionProfile): Promise; + setExpandedState(node: TreeNode | ConnectionProfile, state: TreeItemCollapsibleState): Promise; + setSelected(node: TreeNode | ConnectionProfile, selected: boolean, clearOtherSelections: boolean): Promise; + refreshTree(): Promise; + readonly activeConnectionsFilterAction: IAction; + renderBody(container: HTMLElement): Promise; + layout(size: number); +} + export interface IObjectExplorerService { _serviceBrand: undefined; @@ -62,11 +82,11 @@ export interface IObjectExplorerService { updateObjectExplorerNodes(connectionProfile: IConnectionProfile): Promise; - deleteObjectExplorerNode(connection: IConnectionProfile): Thenable; + deleteObjectExplorerNode(connection: IConnectionProfile): Promise; onUpdateObjectExplorerNodes: Event; - registerServerTreeView(view: ServerTreeView): void; + registerServerTreeView(view: IServerTreeView): void; getSelectedProfileAndDatabase(): { profile: ConnectionProfile, databaseName: string }; @@ -74,7 +94,7 @@ export interface IObjectExplorerService { onSelectionOrFocusChange: Event; - getServerTreeView(): ServerTreeView; + getServerTreeView(): IServerTreeView; findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames?: string[]): Thenable; @@ -139,7 +159,7 @@ export class ObjectExplorerService implements IObjectExplorerService { private _onUpdateObjectExplorerNodes: Emitter; - private _serverTreeView: ServerTreeView; + private _serverTreeView: IServerTreeView; private _onSelectionOrFocusChange: Emitter; @@ -188,7 +208,7 @@ export class ObjectExplorerService implements IObjectExplorerService { }); } - public deleteObjectExplorerNode(connection: IConnectionProfile): Thenable { + public deleteObjectExplorerNode(connection: IConnectionProfile): Promise { let self = this; let connectionUri = connection.id; let nodeTree = this._activeObjectExplorerNodes[connectionUri]; @@ -499,7 +519,7 @@ export class ObjectExplorerService implements IObjectExplorerService { return Promise.resolve(undefined); } - public closeSession(providerId: string, session: azdata.ObjectExplorerSession): Thenable { + public closeSession(providerId: string, session: azdata.ObjectExplorerSession): Promise { // Complete any requests that are still open for the session let sessionStatus = this._sessions[session.sessionId]; if (sessionStatus && sessionStatus.nodes) { @@ -526,9 +546,9 @@ export class ObjectExplorerService implements IObjectExplorerService { }); } } - return provider.closeSession({ + return Promise.resolve(provider.closeSession({ sessionId: session ? session.sessionId : undefined - }); + })); } return Promise.resolve(undefined); @@ -547,7 +567,7 @@ export class ObjectExplorerService implements IObjectExplorerService { this._nodeProviders[nodeProvider.supportedProviderId] = nodeProviders; } - public resolveTreeNodeChildren(session: azdata.ObjectExplorerSession, parentTree: TreeNode): Thenable { + public resolveTreeNodeChildren(session: azdata.ObjectExplorerSession, parentTree: TreeNode): Promise { // Always refresh the node if it has an error, otherwise expand it normally let needsRefresh = !!parentTree.errorStateMessage; return this.expandOrRefreshTreeNode(session, parentTree, needsRefresh); @@ -568,7 +588,7 @@ export class ObjectExplorerService implements IObjectExplorerService { private expandOrRefreshTreeNode( session: azdata.ObjectExplorerSession, parentTree: TreeNode, - refresh: boolean = false): Thenable { + refresh: boolean = false): Promise { return new Promise((resolve, reject) => { this.callExpandOrRefreshFromService(parentTree.getConnectionProfile().providerName, session, parentTree.nodePath, refresh).then(expandResult => { let children: TreeNode[] = []; @@ -614,7 +634,7 @@ export class ObjectExplorerService implements IObjectExplorerService { return node; } - public registerServerTreeView(view: ServerTreeView): void { + public registerServerTreeView(view: IServerTreeView): void { if (this._serverTreeView) { throw new Error('The object explorer server tree view is already registered'); } diff --git a/src/sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim.ts b/src/sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim.ts index e28e69d988..31cfdef77f 100644 --- a/src/sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim.ts +++ b/src/sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/recentConnectionDataSource.ts b/src/sql/workbench/services/objectExplorer/browser/recentConnectionDataSource.ts similarity index 100% rename from src/sql/workbench/contrib/objectExplorer/browser/recentConnectionDataSource.ts rename to src/sql/workbench/services/objectExplorer/browser/recentConnectionDataSource.ts diff --git a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider.ts b/src/sql/workbench/services/objectExplorer/browser/serverTreeActionProvider.ts similarity index 94% rename from src/sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider.ts rename to src/sql/workbench/services/objectExplorer/browser/serverTreeActionProvider.ts index 207dc7fcb5..82777d130b 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider.ts +++ b/src/sql/workbench/services/objectExplorer/browser/serverTreeActionProvider.ts @@ -12,18 +12,18 @@ import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { DisconnectConnectionAction, AddServerAction, DeleteConnectionAction, RefreshAction, EditServerGroupAction -} from 'sql/workbench/contrib/objectExplorer/browser/connectionTreeAction'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +} from 'sql/workbench/services/objectExplorer/browser/connectionTreeAction'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { MenuId, IMenuService } from 'vs/platform/actions/common/actions'; import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; -import { TreeNodeContextKey } from 'sql/workbench/contrib/objectExplorer/common/treeNodeContextKey'; +import { TreeNodeContextKey } from 'sql/workbench/services/objectExplorer/common/treeNodeContextKey'; import { IQueryManagementService } from 'sql/workbench/services/query/common/queryManagement'; -import { ServerInfoContextKey } from 'sql/workbench/contrib/connection/common/serverInfoContextKey'; +import { ServerInfoContextKey } from 'sql/workbench/services/connection/common/serverInfoContextKey'; import { fillInActions } from 'vs/platform/actions/browser/menuEntryActionViewItem'; import { Separator } from 'vs/base/browser/ui/actionbar/actionbar'; import { firstIndex, find } from 'vs/base/common/arrays'; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeController.ts b/src/sql/workbench/services/objectExplorer/browser/serverTreeController.ts similarity index 92% rename from src/sql/workbench/contrib/objectExplorer/browser/serverTreeController.ts rename to src/sql/workbench/services/objectExplorer/browser/serverTreeController.ts index 698f015137..b6b301fa39 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeController.ts +++ b/src/sql/workbench/services/objectExplorer/browser/serverTreeController.ts @@ -10,9 +10,9 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IMouseEvent } from 'vs/base/browser/mouseEvent'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; -import { ServerTreeActionProvider } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider'; -import { ObjectExplorerActionsContext } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerActions'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { ServerTreeActionProvider } from 'sql/workbench/services/objectExplorer/browser/serverTreeActionProvider'; +import { ObjectExplorerActionsContext } from 'sql/workbench/services/objectExplorer/browser/objectExplorerActions'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; /** * Extends the tree controller to handle clicks on the tree elements diff --git a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeDataSource.ts b/src/sql/workbench/services/objectExplorer/browser/serverTreeDataSource.ts similarity index 96% rename from src/sql/workbench/contrib/objectExplorer/browser/serverTreeDataSource.ts rename to src/sql/workbench/services/objectExplorer/browser/serverTreeDataSource.ts index 0c25a240f5..b4d10aeff6 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeDataSource.ts +++ b/src/sql/workbench/services/objectExplorer/browser/serverTreeDataSource.ts @@ -6,9 +6,9 @@ import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ITree, IDataSource } from 'vs/base/parts/tree/browser/tree'; -import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import Severity from 'vs/base/common/severity'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeRenderer.ts b/src/sql/workbench/services/objectExplorer/browser/serverTreeRenderer.ts similarity index 97% rename from src/sql/workbench/contrib/objectExplorer/browser/serverTreeRenderer.ts rename to src/sql/workbench/services/objectExplorer/browser/serverTreeRenderer.ts index 06faed4b13..68626fe0fc 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeRenderer.ts +++ b/src/sql/workbench/services/objectExplorer/browser/serverTreeRenderer.ts @@ -3,8 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!sql/media/objectTypes/objecttypes'; -import 'vs/css!sql/media/icons/common-icons'; +import 'vs/css!./media/objectTypes/objecttypes'; import * as dom from 'vs/base/browser/dom'; import { localize } from 'vs/nls'; @@ -12,9 +11,9 @@ import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectio import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ITree, IRenderer } from 'vs/base/parts/tree/browser/tree'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { InputBox } from 'vs/base/browser/ui/inputbox/inputBox'; -import { badgeRenderer, iconRenderer } from 'sql/workbench/contrib/objectExplorer/browser/iconRenderer'; +import { badgeRenderer, iconRenderer } from 'sql/workbench/services/objectExplorer/browser/iconRenderer'; import { URI } from 'vs/base/common/uri'; export interface IConnectionTemplateData { diff --git a/src/sql/workbench/contrib/objectExplorer/browser/treeCreationUtils.ts b/src/sql/workbench/services/objectExplorer/browser/treeCreationUtils.ts similarity index 80% rename from src/sql/workbench/contrib/objectExplorer/browser/treeCreationUtils.ts rename to src/sql/workbench/services/objectExplorer/browser/treeCreationUtils.ts index d8a3a604f3..399f9cfa58 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/treeCreationUtils.ts +++ b/src/sql/workbench/services/objectExplorer/browser/treeCreationUtils.ts @@ -3,19 +3,17 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!./media/serverTreeActions'; - import * as nls from 'vs/nls'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { ServerTreeRenderer } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeRenderer'; -import { ServerTreeDataSource } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeDataSource'; -import { ServerTreeController } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeController'; -import { ServerTreeActionProvider } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider'; +import { ServerTreeRenderer } from 'sql/workbench/services/objectExplorer/browser/serverTreeRenderer'; +import { ServerTreeDataSource } from 'sql/workbench/services/objectExplorer/browser/serverTreeDataSource'; +import { ServerTreeController } from 'sql/workbench/services/objectExplorer/browser/serverTreeController'; +import { ServerTreeActionProvider } from 'sql/workbench/services/objectExplorer/browser/serverTreeActionProvider'; import { DefaultFilter, DefaultAccessibilityProvider, DefaultController } from 'vs/base/parts/tree/browser/treeDefaults'; import { IController } from 'vs/base/parts/tree/browser/tree'; -import { ServerTreeDragAndDrop, RecentConnectionsDragAndDrop } from 'sql/workbench/contrib/objectExplorer/browser/dragAndDropController'; -import { RecentConnectionDataSource } from 'sql/workbench/contrib/objectExplorer/browser/recentConnectionDataSource'; +import { ServerTreeDragAndDrop, RecentConnectionsDragAndDrop } from 'sql/workbench/services/objectExplorer/browser/dragAndDropController'; +import { RecentConnectionDataSource } from 'sql/workbench/services/objectExplorer/browser/recentConnectionDataSource'; export class TreeCreationUtils { /** diff --git a/src/sql/workbench/contrib/objectExplorer/browser/treeSelectionHandler.ts b/src/sql/workbench/services/objectExplorer/browser/treeSelectionHandler.ts similarity index 96% rename from src/sql/workbench/contrib/objectExplorer/browser/treeSelectionHandler.ts rename to src/sql/workbench/services/objectExplorer/browser/treeSelectionHandler.ts index 926ae7d098..e1c5825b56 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/treeSelectionHandler.ts +++ b/src/sql/workbench/services/objectExplorer/browser/treeSelectionHandler.ts @@ -9,8 +9,8 @@ import { ConnectionProfile } from 'sql/platform/connection/common/connectionProf import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; // import { IProgressRunner, IProgressService } from 'vs/platform/progress/common/progress'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; -import { TreeUpdateUtils } from 'sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; +import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; export class TreeSelectionHandler { // progressRunner: IProgressRunner; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils.ts b/src/sql/workbench/services/objectExplorer/browser/treeUpdateUtils.ts similarity index 98% rename from src/sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils.ts rename to src/sql/workbench/services/objectExplorer/browser/treeUpdateUtils.ts index 0529bd072f..9b874590be 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils.ts +++ b/src/sql/workbench/services/objectExplorer/browser/treeUpdateUtils.ts @@ -10,13 +10,12 @@ import { ConnectionProfile } from 'sql/platform/connection/common/connectionProf import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import * as errors from 'vs/base/common/errors'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Disposable } from 'vs/base/common/lifecycle'; export interface IExpandableTree extends ITree { - // {{SQL CARBON EDIT }} - add back deleted VS Code tree methods /** * Returns a list of the currently expanded elements. */ @@ -38,7 +37,6 @@ export interface IExpandableTree extends ITree { * Returns the total height of the tree's content. */ getContentHeight(): number; - // {{SQL CARBON EDIT }} - end block } diff --git a/src/sql/workbench/contrib/objectExplorer/common/treeNode.ts b/src/sql/workbench/services/objectExplorer/common/treeNode.ts similarity index 100% rename from src/sql/workbench/contrib/objectExplorer/common/treeNode.ts rename to src/sql/workbench/services/objectExplorer/common/treeNode.ts diff --git a/src/sql/workbench/contrib/objectExplorer/common/treeNodeContextKey.ts b/src/sql/workbench/services/objectExplorer/common/treeNodeContextKey.ts similarity index 96% rename from src/sql/workbench/contrib/objectExplorer/common/treeNodeContextKey.ts rename to src/sql/workbench/services/objectExplorer/common/treeNodeContextKey.ts index 993513925a..053b1d7b41 100644 --- a/src/sql/workbench/contrib/objectExplorer/common/treeNodeContextKey.ts +++ b/src/sql/workbench/services/objectExplorer/common/treeNodeContextKey.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; export class TreeNodeContextKey implements IContextKey { diff --git a/src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts b/src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts index 53552f596e..988100bd75 100644 --- a/src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts +++ b/src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts @@ -5,14 +5,13 @@ import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; -import { ObjectExplorerService, NodeExpandInfoWithProviderId } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; +import { ObjectExplorerService, NodeExpandInfoWithProviderId, IServerTreeView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; -import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/services/objectExplorer/common/treeNode'; import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; -import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeView'; import { ConnectionOptionSpecialType, ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { Event } from 'vs/base/common/event'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; @@ -38,7 +37,7 @@ suite('SQL Object Explorer Service tests', () => { let sessionId = '1234'; let failedSessionId = '12345'; let numberOfSuccessfulSessions: number = 0; - let serverTreeView: TypeMoq.Mock; + let serverTreeView: TypeMoq.Mock; setup(() => { @@ -295,7 +294,7 @@ suite('SQL Object Explorer Service tests', () => { isExpanded: element => undefined, onSelectionOrFocusChange: Event.None, refreshElement: (element) => Promise.resolve() as Thenable - } as ServerTreeView); + } as IServerTreeView); }); test('create new session should create session successfully', async () => { @@ -425,7 +424,7 @@ suite('SQL Object Explorer Service tests', () => { }); test('getSelectedProfileAndDatabase returns the profile if it is selected', () => { - const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as ServerTreeView); + const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as IServerTreeView); serverTreeView.setup(x => x.getSelection()).returns(() => [connection]); objectExplorerService.registerServerTreeView(serverTreeView.object); @@ -435,7 +434,7 @@ suite('SQL Object Explorer Service tests', () => { }); test('getSelectedProfileAndDatabase returns the profile but no database if children of a server are selected', () => { - const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as ServerTreeView); + const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as IServerTreeView); const databaseNode = new TreeNode(NodeType.Folder, 'Folder1', false, 'testServerName\\Folder1', '', '', undefined, undefined, undefined, undefined); databaseNode.connection = connection; serverTreeView.setup(x => x.getSelection()).returns(() => [databaseNode]); @@ -447,7 +446,7 @@ suite('SQL Object Explorer Service tests', () => { }); test('getSelectedProfileAndDatabase returns the profile and database if children of a database node are selected', () => { - const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as ServerTreeView); + const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as IServerTreeView); const databaseMetadata = { metadataType: 0, metadataTypeName: 'Database', @@ -469,7 +468,7 @@ suite('SQL Object Explorer Service tests', () => { }); test('getSelectedProfileAndDatabase returns undefined when there is no selection', () => { - const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as ServerTreeView); + const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as IServerTreeView); serverTreeView.setup(x => x.getSelection()).returns(() => []); objectExplorerService.registerServerTreeView(serverTreeView.object); diff --git a/src/sql/workbench/services/objectExplorer/test/browser/testObjectExplorerService.ts b/src/sql/workbench/services/objectExplorer/test/browser/testObjectExplorerService.ts index c03ab77a7a..99b0f6a6fa 100644 --- a/src/sql/workbench/services/objectExplorer/test/browser/testObjectExplorerService.ts +++ b/src/sql/workbench/services/objectExplorer/test/browser/testObjectExplorerService.ts @@ -3,12 +3,11 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; +import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Event } from 'vs/base/common/event'; -import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeView'; -import { ObjectExplorerNodeEventArgs, IObjectExplorerService, NodeExpandInfoWithProviderId } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; +import { ObjectExplorerNodeEventArgs, IObjectExplorerService, NodeExpandInfoWithProviderId, IServerTreeView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; @@ -16,7 +15,7 @@ export type ObjectExplorerServiceMockOptions = { /** * Return value for getServerTreeView */ - serverTreeView?: ServerTreeView; + serverTreeView?: IServerTreeView; /** * Return value for getTreeNode */ @@ -60,7 +59,7 @@ export class TestObjectExplorerService implements IObjectExplorerService { public updateObjectExplorerNodes(connection: IConnectionProfile): Promise { return Promise.resolve(); } - public deleteObjectExplorerNode(connection: IConnectionProfile): Thenable { return Promise.resolve(); } + public deleteObjectExplorerNode(connection: IConnectionProfile): Promise { return Promise.resolve(); } public onNodeExpanded(expandResponse: NodeExpandInfoWithProviderId) { } @@ -86,13 +85,13 @@ export class TestObjectExplorerService implements IObjectExplorerService { public refreshTreeNode(session: azdata.ObjectExplorerSession, parentTree: TreeNode): Thenable { return Promise.resolve(undefined); } - public registerServerTreeView(view: ServerTreeView): void { } + public registerServerTreeView(view: IServerTreeView): void { } public getSelectedProfileAndDatabase(): { profile: ConnectionProfile, databaseName: string } { return undefined; } public isFocused(): boolean { return true; } - public getServerTreeView(): ServerTreeView { return undefined; } + public getServerTreeView(): IServerTreeView { return undefined; } public findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames?: string[]): Thenable { return Promise.resolve(undefined); } diff --git a/src/sql/workbench/services/profiler/browser/interfaces.ts b/src/sql/workbench/services/profiler/browser/interfaces.ts index f6c92bea0d..4b8690a661 100644 --- a/src/sql/workbench/services/profiler/browser/interfaces.ts +++ b/src/sql/workbench/services/profiler/browser/interfaces.ts @@ -4,11 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import * as azdata from 'azdata'; -import { INewProfilerState } from 'sql/workbench/contrib/profiler/common/profilerState'; +import { INewProfilerState } from 'sql/workbench/common/editor/profiler/profilerState'; const PROFILER_SERVICE_ID = 'profilerService'; export const IProfilerService = createDecorator(PROFILER_SERVICE_ID); diff --git a/src/sql/workbench/contrib/profiler/browser/media/clear.svg b/src/sql/workbench/services/profiler/browser/media/clear.svg similarity index 100% rename from src/sql/workbench/contrib/profiler/browser/media/clear.svg rename to src/sql/workbench/services/profiler/browser/media/clear.svg diff --git a/src/sql/workbench/contrib/profiler/browser/media/clear_inverse.svg b/src/sql/workbench/services/profiler/browser/media/clear_inverse.svg similarity index 100% rename from src/sql/workbench/contrib/profiler/browser/media/clear_inverse.svg rename to src/sql/workbench/services/profiler/browser/media/clear_inverse.svg diff --git a/src/sql/workbench/contrib/profiler/browser/media/profiler.css b/src/sql/workbench/services/profiler/browser/media/profiler.css similarity index 100% rename from src/sql/workbench/contrib/profiler/browser/media/profiler.css rename to src/sql/workbench/services/profiler/browser/media/profiler.css diff --git a/src/sql/workbench/contrib/profiler/browser/media/profilerFilterDialog.css b/src/sql/workbench/services/profiler/browser/media/profilerFilterDialog.css similarity index 100% rename from src/sql/workbench/contrib/profiler/browser/media/profilerFilterDialog.css rename to src/sql/workbench/services/profiler/browser/media/profilerFilterDialog.css diff --git a/src/sql/workbench/contrib/profiler/browser/profilerColumnEditorDialog.ts b/src/sql/workbench/services/profiler/browser/profilerColumnEditorDialog.ts similarity index 99% rename from src/sql/workbench/contrib/profiler/browser/profilerColumnEditorDialog.ts rename to src/sql/workbench/services/profiler/browser/profilerColumnEditorDialog.ts index 8e55e456cc..4dcf6d6e22 100644 --- a/src/sql/workbench/contrib/profiler/browser/profilerColumnEditorDialog.ts +++ b/src/sql/workbench/services/profiler/browser/profilerColumnEditorDialog.ts @@ -6,7 +6,7 @@ import 'vs/css!./media/profiler'; import { Modal } from 'sql/workbench/browser/modal/modal'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; diff --git a/src/sql/workbench/contrib/profiler/browser/profilerFilterDialog.ts b/src/sql/workbench/services/profiler/browser/profilerFilterDialog.ts similarity index 99% rename from src/sql/workbench/contrib/profiler/browser/profilerFilterDialog.ts rename to src/sql/workbench/services/profiler/browser/profilerFilterDialog.ts index 421a838c37..be72fccb2b 100644 --- a/src/sql/workbench/contrib/profiler/browser/profilerFilterDialog.ts +++ b/src/sql/workbench/services/profiler/browser/profilerFilterDialog.ts @@ -13,7 +13,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { localize } from 'vs/nls'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; import { SelectBox } from 'sql/base/browser/ui/selectBox/selectBox'; import { attachSelectBoxStyler } from 'vs/platform/theme/common/styler'; diff --git a/src/sql/workbench/services/profiler/browser/profilerService.ts b/src/sql/workbench/services/profiler/browser/profilerService.ts index 2ce89e49cf..6aa6c82b1d 100644 --- a/src/sql/workbench/services/profiler/browser/profilerService.ts +++ b/src/sql/workbench/services/profiler/browser/profilerService.ts @@ -6,8 +6,8 @@ import { IConnectionManagementService, IConnectionCompletionOptions, ConnectionType, RunQueryOnConnectionMode } from 'sql/platform/connection/common/connectionManagement'; import { ProfilerSessionID, IProfilerSession, IProfilerService, IProfilerViewTemplate, IProfilerSessionTemplate, PROFILER_SETTINGS, IProfilerSettings, EngineType, ProfilerFilter, PROFILER_FILTER_SETTINGS } from './interfaces'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; -import { ProfilerColumnEditorDialog } from 'sql/workbench/contrib/profiler/browser/profilerColumnEditorDialog'; +import { ProfilerInput } from 'sql/workbench/browser/editor/profiler/profilerInput'; +import { ProfilerColumnEditorDialog } from 'sql/workbench/services/profiler/browser/profilerColumnEditorDialog'; import * as azdata from 'azdata'; @@ -17,7 +17,7 @@ import { INotificationService } from 'vs/platform/notification/common/notificati import { ICommandService } from 'vs/platform/commands/common/commands'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { Memento } from 'vs/workbench/common/memento'; -import { ProfilerFilterDialog } from 'sql/workbench/contrib/profiler/browser/profilerFilterDialog'; +import { ProfilerFilterDialog } from 'sql/workbench/services/profiler/browser/profilerFilterDialog'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; class TwoWayMap { diff --git a/src/sql/workbench/services/query/common/queryModel.ts b/src/sql/workbench/services/query/common/queryModel.ts index fcb3ea2338..24f4ace9c3 100644 --- a/src/sql/workbench/services/query/common/queryModel.ts +++ b/src/sql/workbench/services/query/common/queryModel.ts @@ -73,7 +73,7 @@ export interface IQueryModelService { onQueryEvent: Event; // Edit Data Functions - initializeEdit(ownerUri: string, schemaName: string, objectName: string, objectType: string, rowLimit: number, queryString: string): void; + initializeEdit(ownerUri: string, schemaName: string, objectName: string, objectType: string, rowLimit?: number, queryString?: string): void; disposeEdit(ownerUri: string): Promise; updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Promise; commitEdit(ownerUri: string): Promise; diff --git a/src/sql/workbench/services/query/common/queryModelService.ts b/src/sql/workbench/services/query/common/queryModelService.ts index 259a3ca5cc..976bfa548b 100644 --- a/src/sql/workbench/services/query/common/queryModelService.ts +++ b/src/sql/workbench/services/query/common/queryModelService.ts @@ -29,15 +29,15 @@ export interface QueryEvent { * Holds information about the state of a query runner */ export class QueryInfo { - public queryRunner: QueryRunner; - public dataService: DataService; - public queryEventQueue: QueryEvent[]; - public selection: Array; + public queryRunner?: QueryRunner; + public dataService?: DataService; + public queryEventQueue?: QueryEvent[]; + public selection?: Array; public selectionSnippet?: string; // Notes if the angular components have obtained the DataService. If not, all messages sent // via the data service will be lost. - public dataServiceReady: boolean; + public dataServiceReady?: boolean; constructor() { this.dataServiceReady = false; @@ -130,7 +130,7 @@ export class QueryModelService implements IQueryModelService { */ public getQueryRows(uri: string, rowStart: number, numberOfRows: number, batchId: number, resultId: number): Promise { if (this._queryInfoMap.has(uri)) { - return this._getQueryInfo(uri)!.queryRunner.getQueryRows(rowStart, numberOfRows, batchId, resultId).then(results => { + return this._getQueryInfo(uri)!.queryRunner!.getQueryRows(rowStart, numberOfRows, batchId, resultId).then(results => { return results.resultSubset; }); } else { @@ -140,7 +140,7 @@ export class QueryModelService implements IQueryModelService { public getEditRows(uri: string, rowStart: number, numberOfRows: number): Promise { if (this._queryInfoMap.has(uri)) { - return this._queryInfoMap.get(uri)!.queryRunner.getEditRows(rowStart, numberOfRows).then(results => { + return this._queryInfoMap.get(uri)!.queryRunner!.getEditRows(rowStart, numberOfRows).then(results => { return results; }); } else { @@ -150,7 +150,7 @@ export class QueryModelService implements IQueryModelService { public async copyResults(uri: string, selection: Slick.Range[], batchId: number, resultId: number, includeHeaders?: boolean): Promise { if (this._queryInfoMap.has(uri)) { - return this._queryInfoMap.get(uri)!.queryRunner.copyResults(selection, batchId, resultId, includeHeaders); + return this._queryInfoMap.get(uri)!.queryRunner!.copyResults(selection, batchId, resultId, includeHeaders); } } @@ -164,7 +164,7 @@ export class QueryModelService implements IQueryModelService { public isRunningQuery(uri: string): boolean { return !this._queryInfoMap.has(uri) ? false - : this._getQueryInfo(uri)!.queryRunner.isExecuting; + : this._getQueryInfo(uri)!.queryRunner!.isExecuting; } /** @@ -199,7 +199,7 @@ export class QueryModelService implements IQueryModelService { if (this._queryInfoMap.has(uri)) { info = this._getQueryInfo(uri)!; - let existingRunner: QueryRunner = info.queryRunner; + let existingRunner: QueryRunner = info.queryRunner!; // If the query is already in progress, don't attempt to send it if (existingRunner.isExecuting) { @@ -207,14 +207,14 @@ export class QueryModelService implements IQueryModelService { } // If the query is not in progress, we can reuse the query runner - queryRunner = existingRunner; + queryRunner = existingRunner!; info.selection = []; info.selectionSnippet = undefined; } else { // We do not have a query runner for this editor, so create a new one // and map it to the results uri info = this.initQueryRunner(uri); - queryRunner = info.queryRunner; + queryRunner = info.queryRunner!; } if (types.isString(selection)) { @@ -260,7 +260,7 @@ export class QueryModelService implements IQueryModelService { link: link }; this._fireQueryEvent(uri, 'message', message); - info.selection.push(this._validateSelection(b.selection)); + info.selection!.push(this._validateSelection(b.selection)); }); queryRunner.onMessage(m => { this._fireQueryEvent(uri, 'message', m); @@ -274,8 +274,8 @@ export class QueryModelService implements IQueryModelService { uri: uri, queryInfo: { - selection: info.selection, - messages: info.queryRunner.messages + selection: info.selection!, + messages: info.queryRunner!.messages } }; this._onQueryEvent.fire(event); @@ -292,8 +292,8 @@ export class QueryModelService implements IQueryModelService { uri: uri, queryInfo: { - selection: info.selection, - messages: info.queryRunner.messages + selection: info.selection!, + messages: info.queryRunner!.messages } }; this._onQueryEvent.fire(event); @@ -308,8 +308,8 @@ export class QueryModelService implements IQueryModelService { uri: uri, queryInfo: { - selection: info.selection, - messages: info.queryRunner.messages + selection: info.selection!, + messages: info.queryRunner!.messages } }; this._onQueryEvent.fire(event); @@ -324,8 +324,8 @@ export class QueryModelService implements IQueryModelService { uri: planInfo.fileUri, queryInfo: { - selection: info.selection, - messages: info.queryRunner.messages + selection: info.selection!, + messages: info.queryRunner!.messages }, params: planInfo }; @@ -338,8 +338,8 @@ export class QueryModelService implements IQueryModelService { uri: uri, queryInfo: { - selection: info.selection, - messages: info.queryRunner.messages + selection: info.selection!, + messages: info.queryRunner!.messages }, params: resultSetInfo }; @@ -404,7 +404,7 @@ export class QueryModelService implements IQueryModelService { if (this._queryInfoMap.has(ownerUri)) { info = this._getQueryInfo(ownerUri)!; - let existingRunner: QueryRunner = info.queryRunner; + let existingRunner: QueryRunner = info.queryRunner!; // If the initialization is already in progress if (existingRunner.isExecuting) { @@ -459,8 +459,8 @@ export class QueryModelService implements IQueryModelService { uri: ownerUri, queryInfo: { - selection: info.selection, - messages: info.queryRunner.messages + selection: info.selection!, + messages: info.queryRunner!.messages }, }; this._onQueryEvent.fire(event); @@ -476,8 +476,8 @@ export class QueryModelService implements IQueryModelService { uri: ownerUri, queryInfo: { - selection: info.selection, - messages: info.queryRunner.messages + selection: info.selection!, + messages: info.queryRunner!.messages }, }; this._onQueryEvent.fire(event); @@ -599,10 +599,10 @@ export class QueryModelService implements IQueryModelService { private internalGetQueryRunner(ownerUri: string): QueryRunner | undefined { let queryRunner: QueryRunner | undefined; if (this._queryInfoMap.has(ownerUri)) { - let existingRunner = this._getQueryInfo(ownerUri)!.queryRunner; + let existingRunner = this._getQueryInfo(ownerUri)!.queryRunner!; // If the query is not already executing then set it up if (!existingRunner.isExecuting) { - queryRunner = this._getQueryInfo(ownerUri)!.queryRunner; + queryRunner = this._getQueryInfo(ownerUri)!.queryRunner!; } } // return undefined if not found or is already executing @@ -633,14 +633,14 @@ export class QueryModelService implements IQueryModelService { }); } else if (info) { let queueItem: QueryEvent = { type: type, data: data }; - info.queryEventQueue.push(queueItem); + info.queryEventQueue!.push(queueItem); } } private _sendQueuedEvents(uri: string): void { let info = this._getQueryInfo(uri); - while (info && info.queryEventQueue.length > 0) { - let event = info.queryEventQueue.shift()!; + while (info && info.queryEventQueue!.length > 0) { + let event = info.queryEventQueue!.shift()!; this._fireQueryEvent(uri, event.type, event.data); } } diff --git a/src/sql/workbench/services/query/common/queryRunner.ts b/src/sql/workbench/services/query/common/queryRunner.ts index 7283e554b0..c6c055a12a 100644 --- a/src/sql/workbench/services/query/common/queryRunner.ts +++ b/src/sql/workbench/services/query/common/queryRunner.ts @@ -44,8 +44,8 @@ export interface IQueryMessage extends azdata.IResultMessage { */ export default class QueryRunner extends Disposable { // MEMBER VARIABLES //////////////////////////////////////////////////// - private _resultLineOffset: number; - private _resultColumnOffset: number; + private _resultLineOffset?: number; + private _resultColumnOffset?: number; private _totalElapsedMilliseconds: number = 0; private _isExecuting: boolean = false; private _hasCompleted: boolean = false; @@ -249,10 +249,10 @@ export default class QueryRunner extends Disposable { this._batchSets.map(batch => { if (batch.selection) { - batch.selection.startLine += this._resultLineOffset; - batch.selection.startColumn += this._resultColumnOffset; - batch.selection.endLine += this._resultLineOffset; - batch.selection.endColumn += this._resultColumnOffset; + batch.selection.startLine += this._resultLineOffset!; + batch.selection.startColumn += this._resultColumnOffset!; + batch.selection.endLine += this._resultLineOffset!; + batch.selection.endColumn += this._resultColumnOffset!; } }); @@ -278,10 +278,10 @@ export default class QueryRunner extends Disposable { // Recalculate the start and end lines, relative to the result line offset if (batch.selection) { - batch.selection.startLine += this._resultLineOffset; - batch.selection.startColumn += this._resultColumnOffset; - batch.selection.endLine += this._resultLineOffset; - batch.selection.endColumn += this._resultColumnOffset; + batch.selection.startLine += this._resultLineOffset!; + batch.selection.startColumn += this._resultColumnOffset!; + batch.selection.endLine += this._resultLineOffset!; + batch.selection.endColumn += this._resultColumnOffset!; } // Set the result sets as an empty array so that as result sets complete we can add to the list diff --git a/src/sql/workbench/services/queryEditor/browser/queryEditorService.ts b/src/sql/workbench/services/queryEditor/browser/queryEditorService.ts index d71d5e7110..c769062535 100644 --- a/src/sql/workbench/services/queryEditor/browser/queryEditorService.ts +++ b/src/sql/workbench/services/queryEditor/browser/queryEditorService.ts @@ -3,23 +3,18 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { QueryResultsInput } from 'sql/workbench/contrib/query/common/queryResultsInput'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; -import { EditDataInput } from 'sql/workbench/contrib/editData/browser/editDataInput'; -import { IConnectableInput, IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; +import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResultsInput'; +import { EditDataInput } from 'sql/workbench/browser/editData/editDataInput'; +import { IConnectableInput } from 'sql/platform/connection/common/connectionManagement'; import { IQueryEditorService } from 'sql/workbench/services/queryEditor/common/queryEditorService'; -import { UntitledQueryEditorInput } from 'sql/workbench/contrib/query/common/untitledQueryEditorInput'; +import { UntitledQueryEditorInput } from 'sql/workbench/common/editor/query/untitledQueryEditorInput'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { URI } from 'vs/base/common/uri'; -import * as paths from 'vs/base/common/extpath'; -import { isLinux } from 'vs/base/common/platform'; import { Schemas } from 'vs/base/common/network'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { replaceConnection } from 'sql/workbench/browser/taskUtilities'; -import { EditDataResultsInput } from 'sql/workbench/contrib/editData/browser/editDataResultsInput'; -import { ILogService } from 'vs/platform/log/common/log'; +import { EditDataResultsInput } from 'sql/workbench/browser/editData/editDataResultsInput'; import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/common/untitledTextEditorService'; import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput'; import { UntitledTextEditorModel } from 'vs/workbench/services/untitled/common/untitledTextEditorModel'; @@ -35,9 +30,7 @@ export class QueryEditorService implements IQueryEditorService { @IUntitledTextEditorService private _untitledEditorService: IUntitledTextEditorService, @IInstantiationService private _instantiationService: IInstantiationService, @IEditorService private _editorService: IEditorService, - @IConnectionManagementService private _connectionManagementService: IConnectionManagementService, - @IConfigurationService private _configurationService: IConfigurationService, - @ILogService private _logService: ILogService + @IConfigurationService private _configurationService: IConfigurationService ) { } @@ -105,29 +98,6 @@ export class QueryEditorService implements IQueryEditorService { return params; } - onSaveAsCompleted(oldResource: URI, newResource: URI): void { - let oldResourceString: string = oldResource.toString(); - - this._editorService.editors.forEach(input => { - if (input instanceof QueryEditorInput) { - const resource = input.getResource(); - - // Update Editor if file (or any parent of the input) got renamed or moved - // Note: must check the new file name for this since this method is called after the rename is completed - if (paths.isEqualOrParent(resource.fsPath, newResource.fsPath, !isLinux /* ignorecase */)) { - // In this case, we know that this is a straight rename so support this as a rename / replace operation - replaceConnection(oldResourceString, newResource.toString(), this._connectionManagementService).then(result => { - if (result && result.connected) { - input.onConnectSuccess(); - } else { - input.onConnectReject(); - } - }).catch((e) => this._logService.error(e)); - } - } - }); - } - ////// Private functions private createUntitledSqlFilePath(): Promise { diff --git a/src/sql/workbench/services/queryEditor/common/queryEditorService.ts b/src/sql/workbench/services/queryEditor/common/queryEditorService.ts index e69b749c76..164d4c7eb5 100644 --- a/src/sql/workbench/services/queryEditor/common/queryEditorService.ts +++ b/src/sql/workbench/services/queryEditor/common/queryEditorService.ts @@ -7,8 +7,6 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation' import { IConnectableInput } from 'sql/platform/connection/common/connectionManagement'; import { IEditorOptions } from 'vs/platform/editor/common/editor'; -import { URI } from 'vs/base/common/uri'; - export interface IQueryEditorOptions extends IEditorOptions { // Tells IQueryEditorService.queryEditorCheck to not open this input in the QueryEditor. @@ -27,12 +25,4 @@ export interface IQueryEditorService { // Creates new edit data session newEditDataEditor(schemaName: string, tableName: string, queryString: string): Promise; - - /** - * Handles updating of SQL files on a save as event. These need special consideration - * due to query results and other information being tied to the URI of the file - * @param oldResource URI of the file before the save as was completed - * @param newResource URI of the file after the save as operation was completed - */ - onSaveAsCompleted(oldResource: URI, newResource: URI): void; } diff --git a/src/sql/workbench/contrib/accounts/browser/firewallRuleDialog.ts b/src/sql/workbench/services/resourceProvider/browser/firewallRuleDialog.ts similarity index 99% rename from src/sql/workbench/contrib/accounts/browser/firewallRuleDialog.ts rename to src/sql/workbench/services/resourceProvider/browser/firewallRuleDialog.ts index 1296bc0759..4f44c52830 100644 --- a/src/sql/workbench/contrib/accounts/browser/firewallRuleDialog.ts +++ b/src/sql/workbench/services/resourceProvider/browser/firewallRuleDialog.ts @@ -24,7 +24,7 @@ import { Modal } from 'sql/workbench/browser/modal/modal'; import { FirewallRuleViewModel } from 'sql/platform/accounts/common/firewallRuleViewModel'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; -import { IAccountPickerService } from 'sql/workbench/contrib/accounts/browser/accountPicker'; +import { IAccountPickerService } from 'sql/workbench/services/accountManagement/browser/accountPicker'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { ILogService } from 'vs/platform/log/common/log'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; diff --git a/src/sql/workbench/contrib/accounts/browser/firewallRuleDialogController.ts b/src/sql/workbench/services/resourceProvider/browser/firewallRuleDialogController.ts similarity index 97% rename from src/sql/workbench/contrib/accounts/browser/firewallRuleDialogController.ts rename to src/sql/workbench/services/resourceProvider/browser/firewallRuleDialogController.ts index f476e8b1f9..9b0a134064 100644 --- a/src/sql/workbench/contrib/accounts/browser/firewallRuleDialogController.ts +++ b/src/sql/workbench/services/resourceProvider/browser/firewallRuleDialogController.ts @@ -9,7 +9,7 @@ import { localize } from 'vs/nls'; import * as azdata from 'azdata'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { FirewallRuleDialog } from 'sql/workbench/contrib/accounts/browser/firewallRuleDialog'; +import { FirewallRuleDialog } from 'sql/workbench/services/resourceProvider/browser/firewallRuleDialog'; import { IAccountManagementService, AzureResource } from 'sql/platform/accounts/common/interfaces'; import { IResourceProviderService } from 'sql/workbench/services/resourceProvider/common/resourceProviderService'; import { Deferred } from 'sql/base/common/promise'; diff --git a/src/sql/workbench/contrib/accounts/browser/media/firewallRuleDialog.css b/src/sql/workbench/services/resourceProvider/browser/media/firewallRuleDialog.css similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/firewallRuleDialog.css rename to src/sql/workbench/services/resourceProvider/browser/media/firewallRuleDialog.css diff --git a/src/sql/workbench/contrib/accounts/browser/media/secure.svg b/src/sql/workbench/services/resourceProvider/browser/media/secure.svg similarity index 100% rename from src/sql/workbench/contrib/accounts/browser/media/secure.svg rename to src/sql/workbench/services/resourceProvider/browser/media/secure.svg diff --git a/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts b/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts index 89063fd1d9..ec6cf8ff16 100644 --- a/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts +++ b/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts @@ -8,7 +8,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IResourceProviderService, IHandleFirewallRuleResult } from 'sql/workbench/services/resourceProvider/common/resourceProviderService'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; -import { FirewallRuleDialogController } from 'sql/workbench/contrib/accounts/browser/firewallRuleDialogController'; +import { FirewallRuleDialogController } from 'sql/workbench/services/resourceProvider/browser/firewallRuleDialogController'; import * as azdata from 'azdata'; import { invalidProvider } from 'sql/base/common/errors'; diff --git a/src/sql/workbench/contrib/accounts/test/browser/firewallRuleDialogController.test.ts b/src/sql/workbench/services/resourceProvider/test/browser/firewallRuleDialogController.test.ts similarity index 98% rename from src/sql/workbench/contrib/accounts/test/browser/firewallRuleDialogController.test.ts rename to src/sql/workbench/services/resourceProvider/test/browser/firewallRuleDialogController.test.ts index 7a4d4e7244..5c16c968fc 100644 --- a/src/sql/workbench/contrib/accounts/test/browser/firewallRuleDialogController.test.ts +++ b/src/sql/workbench/services/resourceProvider/test/browser/firewallRuleDialogController.test.ts @@ -7,9 +7,9 @@ import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; import { Emitter } from 'vs/base/common/event'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { FirewallRuleDialog } from 'sql/workbench/contrib/accounts/browser/firewallRuleDialog'; +import { FirewallRuleDialog } from 'sql/workbench/services/resourceProvider/browser/firewallRuleDialog'; import { FirewallRuleViewModel } from 'sql/platform/accounts/common/firewallRuleViewModel'; -import { FirewallRuleDialogController } from 'sql/workbench/contrib/accounts/browser/firewallRuleDialogController'; +import { FirewallRuleDialogController } from 'sql/workbench/services/resourceProvider/browser/firewallRuleDialogController'; import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; import { TestResourceProvider } from 'sql/workbench/services/resourceProvider/test/common/testResourceProviderService'; import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; diff --git a/src/sql/workbench/contrib/restore/browser/media/restoreDialog.css b/src/sql/workbench/services/restore/browser/media/restoreDialog.css similarity index 100% rename from src/sql/workbench/contrib/restore/browser/media/restoreDialog.css rename to src/sql/workbench/services/restore/browser/media/restoreDialog.css diff --git a/src/sql/workbench/contrib/restore/browser/restoreDialog.ts b/src/sql/workbench/services/restore/browser/restoreDialog.ts similarity index 99% rename from src/sql/workbench/contrib/restore/browser/restoreDialog.ts rename to src/sql/workbench/services/restore/browser/restoreDialog.ts index d25ab36749..65b73ae0a3 100644 --- a/src/sql/workbench/contrib/restore/browser/restoreDialog.ts +++ b/src/sql/workbench/services/restore/browser/restoreDialog.ts @@ -32,8 +32,7 @@ import * as DialogHelper from 'sql/workbench/browser/modal/dialogHelper'; import { Modal } from 'sql/workbench/browser/modal/modal'; import { attachButtonStyler, attachTableStyler, attachInputBoxStyler, attachSelectBoxStyler, attachEditableDropdownStyler, attachCheckboxStyler } from 'sql/platform/theme/common/styler'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; -import * as BackupConstants from 'sql/workbench/contrib/backup/common/constants'; -import { RestoreViewModel, RestoreOptionParam, SouceDatabaseNamesParam } from 'sql/workbench/contrib/restore/browser/restoreViewModel'; +import { RestoreViewModel, RestoreOptionParam, SouceDatabaseNamesParam } from 'sql/workbench/services/restore/browser/restoreViewModel'; import * as FileValidationConstants from 'sql/workbench/services/fileBrowser/common/fileValidationServiceConstants'; import { Dropdown } from 'sql/base/parts/editableDropdown/browser/dropdown'; import { TabbedPanel, PanelTabIdentifier } from 'sql/base/browser/ui/panel/panel'; @@ -45,6 +44,7 @@ import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/la import { ITextResourcePropertiesService } from 'vs/editor/common/services/textResourceConfigurationService'; import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry'; import { attachModalDialogStyler, attachTabbedPanelStyler } from 'sql/workbench/common/styler'; +import { fileFiltersSet } from 'sql/workbench/services/restore/common/constants'; interface FileListElement { logicalFileName: string; @@ -606,7 +606,7 @@ export class RestoreDialog extends Modal { private onFileBrowserRequested(): void { this.fileBrowserDialogService.showDialog(this._ownerUri, this.viewModel.defaultBackupFolder, - BackupConstants.fileFiltersSet, + fileFiltersSet, FileValidationConstants.restore, true, filepath => this.onFileBrowsed(filepath)); diff --git a/src/sql/workbench/services/restore/browser/restoreServiceImpl.ts b/src/sql/workbench/services/restore/browser/restoreServiceImpl.ts index e9ef264a41..a2798fcef7 100644 --- a/src/sql/workbench/services/restore/browser/restoreServiceImpl.ts +++ b/src/sql/workbench/services/restore/browser/restoreServiceImpl.ts @@ -9,7 +9,7 @@ import * as azdata from 'azdata'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { IRestoreService, IRestoreDialogController, TaskExecutionMode } from 'sql/workbench/services/restore/common/restoreService'; import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog'; -import { RestoreDialog } from 'sql/workbench/contrib/restore/browser/restoreDialog'; +import { RestoreDialog } from 'sql/workbench/services/restore/browser/restoreDialog'; import * as ConnectionConstants from 'sql/platform/connection/common/constants'; import { MssqlRestoreInfo } from 'sql/workbench/services/restore/common/mssqlRestoreInfo'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; diff --git a/src/sql/workbench/contrib/restore/browser/restoreViewModel.ts b/src/sql/workbench/services/restore/browser/restoreViewModel.ts similarity index 100% rename from src/sql/workbench/contrib/restore/browser/restoreViewModel.ts rename to src/sql/workbench/services/restore/browser/restoreViewModel.ts diff --git a/src/sql/workbench/services/restore/common/constants.ts b/src/sql/workbench/services/restore/common/constants.ts new file mode 100644 index 0000000000..6fdad9a273 --- /dev/null +++ b/src/sql/workbench/services/restore/common/constants.ts @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { localize } from 'vs/nls'; + + +export const fileFiltersSet: { label: string, filters: string[] }[] = [ + { label: localize('backup.filterBackupFiles', "Backup Files"), filters: ['*.bak', '*.trn', '*.log'] }, + { label: localize('backup.allFiles', "All Files"), filters: ['*'] } +]; diff --git a/src/sql/workbench/contrib/restore/test/browser/restoreViewModel.test.ts b/src/sql/workbench/services/restore/test/browser/restoreViewModel.test.ts similarity index 98% rename from src/sql/workbench/contrib/restore/test/browser/restoreViewModel.test.ts rename to src/sql/workbench/services/restore/test/browser/restoreViewModel.test.ts index 490570e535..08fc0b8e5f 100644 --- a/src/sql/workbench/contrib/restore/test/browser/restoreViewModel.test.ts +++ b/src/sql/workbench/services/restore/test/browser/restoreViewModel.test.ts @@ -5,7 +5,7 @@ import * as azdata from 'azdata'; import * as assert from 'assert'; -import { RestoreViewModel } from 'sql/workbench/contrib/restore/browser/restoreViewModel'; +import { RestoreViewModel } from 'sql/workbench/services/restore/browser/restoreViewModel'; import { ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; suite('Restore Dialog view model tests', () => { diff --git a/src/sql/workbench/contrib/objectExplorer/browser/media/serverGroupDialog.css b/src/sql/workbench/services/serverGroup/browser/media/serverGroupDialog.css similarity index 100% rename from src/sql/workbench/contrib/objectExplorer/browser/media/serverGroupDialog.css rename to src/sql/workbench/services/serverGroup/browser/media/serverGroupDialog.css diff --git a/src/sql/workbench/services/serverGroup/browser/serverGroupController.ts b/src/sql/workbench/services/serverGroup/browser/serverGroupController.ts index f2f10bd721..9330da14c1 100644 --- a/src/sql/workbench/services/serverGroup/browser/serverGroupController.ts +++ b/src/sql/workbench/services/serverGroup/browser/serverGroupController.ts @@ -7,13 +7,13 @@ import Severity from 'vs/base/common/severity'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { SERVER_GROUP_CONFIG, SERVER_GROUP_COLORS_CONFIG } from 'sql/workbench/contrib/objectExplorer/common/serverGroup.contribution'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; import { IServerGroupController, IServerGroupDialogCallbacks } from 'sql/platform/serverGroup/common/serverGroupController'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { ServerGroupDialog } from 'sql/workbench/contrib/objectExplorer/browser/serverGroupDialog'; -import { ServerGroupViewModel } from 'sql/workbench/contrib/objectExplorer/common/serverGroupViewModel'; +import { ServerGroupDialog } from 'sql/workbench/services/serverGroup/browser/serverGroupDialog'; +import { ServerGroupViewModel } from 'sql/workbench/services/serverGroup/common/serverGroupViewModel'; import { ConnectionProfileGroup, IConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; +import { SERVER_GROUP_CONFIG, SERVER_GROUP_COLORS_CONFIG } from 'sql/workbench/services/serverGroup/common/interfaces'; export class ServerGroupController implements IServerGroupController { _serviceBrand: undefined; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/serverGroupDialog.ts b/src/sql/workbench/services/serverGroup/browser/serverGroupDialog.ts similarity index 99% rename from src/sql/workbench/contrib/objectExplorer/browser/serverGroupDialog.ts rename to src/sql/workbench/services/serverGroup/browser/serverGroupDialog.ts index 9636b3d99a..da5a8910f2 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/serverGroupDialog.ts +++ b/src/sql/workbench/services/serverGroup/browser/serverGroupDialog.ts @@ -20,7 +20,7 @@ import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { Button } from 'sql/base/browser/ui/button/button'; import { Modal } from 'sql/workbench/browser/modal/modal'; import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; -import { ServerGroupViewModel } from 'sql/workbench/contrib/objectExplorer/common/serverGroupViewModel'; +import { ServerGroupViewModel } from 'sql/workbench/services/serverGroup/common/serverGroupViewModel'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; diff --git a/src/sql/workbench/services/serverGroup/common/interfaces.ts b/src/sql/workbench/services/serverGroup/common/interfaces.ts new file mode 100644 index 0000000000..ece61e2cf4 --- /dev/null +++ b/src/sql/workbench/services/serverGroup/common/interfaces.ts @@ -0,0 +1,7 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export const SERVER_GROUP_CONFIG = 'serverGroup'; +export const SERVER_GROUP_COLORS_CONFIG = 'colors'; diff --git a/src/sql/workbench/contrib/objectExplorer/common/serverGroupViewModel.ts b/src/sql/workbench/services/serverGroup/common/serverGroupViewModel.ts similarity index 100% rename from src/sql/workbench/contrib/objectExplorer/common/serverGroupViewModel.ts rename to src/sql/workbench/services/serverGroup/common/serverGroupViewModel.ts diff --git a/src/tsconfig.vscode.json b/src/tsconfig.vscode.json index 0c0f0016c6..b5013675d3 100644 --- a/src/tsconfig.vscode.json +++ b/src/tsconfig.vscode.json @@ -64,7 +64,7 @@ // "./sql/workbench/api/common/**/*.ts", // "./sql/workbench/api/worker/**/*.ts", // "./sql/workbench/browser/**/*.ts", - "./sql/workbench/common/**/*.ts", + // "./sql/workbench/common/**/*.ts", // "./sql/workbench/electron-browser/**/*.ts", // "./sql/workbench/services/**/test/**/*.ts" ], diff --git a/src/vs/workbench/contrib/files/browser/editors/fileEditorTracker.ts b/src/vs/workbench/contrib/files/browser/editors/fileEditorTracker.ts index 243a922bcf..a856e509d1 100644 --- a/src/vs/workbench/contrib/files/browser/editors/fileEditorTracker.ts +++ b/src/vs/workbench/contrib/files/browser/editors/fileEditorTracker.ts @@ -28,7 +28,7 @@ import { isEqualOrParent, joinPath } from 'vs/base/common/resources'; import { Schemas } from 'vs/base/common/network'; // {{SQL CARBON EDIT}} -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; +import { QueryEditorInput } from 'sql/workbench/common/editor/query/queryEditorInput'; export class FileEditorTracker extends Disposable implements IWorkbenchContribution { diff --git a/src/vs/workbench/workbench.common.main.ts b/src/vs/workbench/workbench.common.main.ts index e5533a138a..875a90f804 100644 --- a/src/vs/workbench/workbench.common.main.ts +++ b/src/vs/workbench/workbench.common.main.ts @@ -167,8 +167,8 @@ import { IJobManagementService } from 'sql/workbench/services/jobManagement/comm import { JobManagementService } from 'sql/workbench/services/jobManagement/common/jobManagementService'; import { IBackupService } from 'sql/platform/backup/common/backupService'; import { BackupService } from 'sql/platform/backup/common/backupServiceImp'; -import { IBackupUiService } from 'sql/workbench/services/backup/common/backupUiService'; -import { BackupUiService } from 'sql/workbench/services/backup/browser/backupUiService'; +import { IBackupUiService } from 'sql/workbench/contrib/backup/common/backupUiService'; +import { BackupUiService } from 'sql/workbench/contrib/backup/browser/backupUiService'; import { IRestoreDialogController, IRestoreService } from 'sql/workbench/services/restore/common/restoreService'; import { RestoreService, RestoreDialogController } from 'sql/workbench/services/restore/browser/restoreServiceImpl'; import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog'; @@ -183,8 +183,8 @@ import { IAccountManagementService } from 'sql/platform/accounts/common/interfac import { AccountManagementService } from 'sql/workbench/services/accountManagement/browser/accountManagementService'; import { IProfilerService } from 'sql/workbench/services/profiler/browser/interfaces'; import { ProfilerService } from 'sql/workbench/services/profiler/browser/profilerService'; -import { AccountPickerService } from 'sql/workbench/contrib/accounts/browser/accountPickerService'; -import { IAccountPickerService } from 'sql/workbench/contrib/accounts/browser/accountPicker'; +import { AccountPickerService } from 'sql/workbench/services/accountManagement/browser/accountPickerService'; +import { IAccountPickerService } from 'sql/workbench/services/accountManagement/browser/accountPicker'; import { IDashboardViewService } from 'sql/platform/dashboard/browser/dashboardViewService'; import { DashboardViewService } from 'sql/platform/dashboard/browser/dashboardViewServiceImpl'; import { IModelViewService } from 'sql/platform/modelComponents/browser/modelViewService';