From 0f934081e1b251cfcf275ab458a7a0a85004f3ce Mon Sep 17 00:00:00 2001 From: Anthony Dresser Date: Tue, 11 Feb 2020 00:47:17 -0600 Subject: [PATCH] More layering and strictness (#9004) * move handling generated files to the serilization classes * remove unneeded methods * add more folders to strictire compile, add more strict compile options * update ci * wip * add more layering and fix issues * add more strictness * remove unnecessary assertion * add missing checks * fix indentation * wip * remove jsdoc * fix layering * fix compile * fix compile errors * wip * wip * finish layering * fix css * more layering * remove no longer good parts * fix issues with startup * another try * fix startup --- .eslintrc.json | 219 ++++++++++++++++++ package.json | 4 +- .../browser}/componentHost.directive.ts | 0 .../notebooks/common/outputRegistry.ts | 4 +- .../query/common/constants.ts | 0 .../api/common/extHostNotebookEditor.ts | 2 +- .../workbench/api/common/sqlExtHostTypes.ts | 10 +- src/sql/workbench/browser/modal/modal.ts | 7 +- .../workbench/browser/modal/optionsDialog.ts | 2 +- .../browser/modal/optionsDialogHelper.ts | 2 +- .../browser/modelComponents/card.component.ts | 37 ++- .../modelComponents/checkbox.component.ts | 3 +- .../browser/modelComponents/componentBase.ts | 4 +- .../declarativeTable.component.ts | 3 +- .../modelComponents/divContainer.component.ts | 3 +- .../modelComponents/dropdown.component.ts | 3 +- .../modelComponents/editor.component.ts | 3 +- .../fileBrowserTree.component.ts | 3 +- .../modelComponents/hyperlink.component.ts | 3 +- .../modelComponents/inputbox.component.ts | 3 +- .../modelComponents/listbox.component.ts | 3 +- .../modelComponentWrapper.component.ts | 2 +- .../modelComponents/radioButton.component.ts | 3 +- .../radioCardGroup.component.ts | 3 +- .../modelComponents/table.component.ts | 9 +- .../toolbarContainer.component.ts | 11 +- .../modelComponents/treeViewDataProvider.ts | 3 + .../browser/modelComponents/viewBase.ts | 5 +- .../parts/editor/editorStatusModeSelect.ts | 2 +- .../browser/parts/views/customView.ts | 4 +- .../parts/views}/nodeContext.ts | 6 +- src/sql/workbench/browser/taskUtilities.ts | 12 +- src/sql/workbench/common/sqlWorkbenchUtils.ts | 16 -- src/sql/workbench/common/views.ts | 10 +- src/sql/workbench/common/workspaceActions.ts | 2 +- .../backup/browser/backup.contribution.ts | 6 +- .../dashboardWidgetWrapper.component.ts | 2 +- .../browser/dashboard.contribution.ts | 2 +- .../dashboard/browser/dashboard.module.ts | 2 +- .../dashboard/browser/dashboardEditor.ts | 2 +- .../insights/insightsWidget.component.ts | 2 +- .../dataExplorer/browser/extensionActions.ts | 2 +- .../browser/extensions.contribution.ts | 4 +- .../nodeActions.common.contribution.ts | 6 +- .../browser/nodeCommands.common.ts | 2 +- .../dataExplorer/browser/nodeContextUtils.ts | 9 +- .../editData/browser/gridParentComponent.ts | 2 +- .../common/editorReplacer.contribution.ts | 2 +- .../common/editorReplacerContribution.ts | 2 +- .../common/editorReplacerContribution.test.ts | 4 +- .../browser}/components.contribution.ts | 50 ++-- .../modelView/browser}/media/webview.css | 0 .../modelView/browser}/webview.component.ts | 2 +- .../browser/cellViews/output.component.ts | 2 +- .../contrib/notebook/browser/models/cell.ts | 4 +- .../notebook/browser/notebook.contribution.ts | 6 +- .../notebook/browser/notebook.module.ts | 2 +- .../common/models/nodebookInputFactory.ts | 2 +- .../browser/serverTreeActionProvider.ts | 4 +- .../objectExplorer/browser/treeUpdateUtils.ts | 2 +- .../contrib/objectExplorer/common/treeNode.ts | 2 +- .../browser/connectionTreeActions.test.ts | 2 +- .../contrib/query/browser/flavorStatus.ts | 11 +- .../query/browser/keyboardQueryActions.ts | 2 +- .../modelViewTab/queryModelViewTab.module.ts | 2 +- .../query/browser/query.contribution.ts | 6 +- .../contrib/query/common/queryInputFactory.ts | 2 +- .../browser/queryPlan.contribution.ts | 2 +- .../queryPlan/common/queryPlanInput.ts | 2 +- .../restore/browser/restore.contribution.ts | 6 +- .../browser/scripting.contribution.ts | 6 +- .../scripting/browser/scriptingActions.ts | 2 +- .../test/browser/scriptingActions.test.ts | 2 +- .../browser/enablePreviewFeatures.ts | 2 +- .../browser/gettingStarted.contribution.ts | 2 +- .../common/enablePreviewFeatures.ts | 0 .../electron-browser/enablePreviewFeatures.ts | 2 +- .../gettingStarted.contribution.ts | 2 +- .../browser/commonServiceInterface.service.ts | 2 +- .../bootstrap/common/bootstrapParams.ts | 2 +- .../browser/connectionManagementService.ts | 2 +- .../connection/common/connectionContextKey.ts | 0 .../services/dialog/browser/dialog.module.ts | 2 +- .../common/doHandleUpgrade.ts | 28 +++ .../common/languageAssociation.ts | 20 +- .../browser/mssqlNodeContext.ts | 10 +- .../browser/objectExplorerService.ts | 2 +- .../browser/objectExplorerViewTreeShim.ts | 2 +- .../objectExplorer/common/nodeType.ts | 0 .../browser/objectExplorerService.test.ts | 2 +- src/tsconfig.vscode.json | 31 ++- .../electron-browser/workbench/workbench.js | 1 + .../browser/parts/editor/tabsTitleControl.ts | 2 +- src/vs/workbench/browser/workbench.ts | 2 +- src/vs/workbench/common/editor/editorGroup.ts | 4 +- src/vs/workbench/workbench.common.main.ts | 6 +- src/vs/workbench/workbench.desktop.main.ts | 1 - 97 files changed, 489 insertions(+), 214 deletions(-) rename src/sql/{workbench/contrib/dashboard/browser/core => base/browser}/componentHost.directive.ts (100%) rename src/sql/{workbench/contrib => platform}/query/common/constants.ts (100%) rename src/sql/workbench/{contrib/dataExplorer/browser => browser/parts/views}/nodeContext.ts (92%) rename src/sql/workbench/{ => contrib/editorReplacement}/common/editorReplacer.contribution.ts (87%) rename src/sql/workbench/{ => contrib/editorReplacement}/common/editorReplacerContribution.ts (97%) rename src/sql/workbench/{ => contrib/editorReplacement}/test/common/editorReplacerContribution.test.ts (98%) rename src/sql/workbench/{browser/modelComponents => contrib/modelView/browser}/components.contribution.ts (67%) rename src/sql/workbench/{browser/modelComponents => contrib/modelView/browser}/media/webview.css (100%) rename src/sql/workbench/{browser/modelComponents => contrib/modelView/browser}/webview.component.ts (98%) rename src/sql/workbench/{ => contrib/welcome/gettingStarted}/browser/enablePreviewFeatures.ts (90%) rename src/sql/workbench/{ => contrib/welcome/gettingStarted}/common/enablePreviewFeatures.ts (100%) rename src/sql/workbench/{ => contrib/welcome/gettingStarted}/electron-browser/enablePreviewFeatures.ts (91%) rename src/sql/workbench/{contrib => services}/connection/common/connectionContextKey.ts (100%) create mode 100644 src/sql/workbench/services/languageAssociation/common/doHandleUpgrade.ts rename src/sql/workbench/{ => services/languageAssociation}/common/languageAssociation.ts (80%) rename src/sql/workbench/{contrib/dataExplorer => services/objectExplorer}/browser/mssqlNodeContext.ts (94%) rename src/sql/workbench/{contrib => services}/objectExplorer/browser/objectExplorerViewTreeShim.ts (99%) rename src/sql/workbench/{contrib => services}/objectExplorer/common/nodeType.ts (100%) diff --git a/.eslintrc.json b/.eslintrc.json index 7563e2e317..9202b22987 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -258,6 +258,225 @@ "**/{vs,sql}/platform/*/{common,browser}/**", "**/{vs,sql}/platform/*/test/{common,browser}/**" ] + }, + { + "target": "**/{vs,sql}/editor/common/**", + "restrictions": [ + "vs/nls", + "**/{vs,sql}/base/common/**", + "**/{vs,sql}/base/worker/**", + "**/{vs,sql}/platform/*/common/**", + "**/{vs,sql}/editor/common/**" + ] + }, + { + "target": "**/{vs,sql}/editor/test/common/**", + "restrictions": [ + "assert", + "sinon", + "vs/nls", + "**/{vs,sql}/base/common/**", + "**/{vs,sql}/platform/*/common/**", + "**/{vs,sql}/platform/*/test/common/**", + "**/{vs,sql}/editor/common/**", + "**/{vs,sql}/editor/test/common/**" + ] + }, + { + "target": "**/{vs,sql}/editor/browser/**", + "restrictions": [ + "vs/nls", + "vs/css!./**/*", + "**/{vs,sql}/base/{common,browser}/**", + "**/{vs,sql}/platform/*/{common,browser}/**", + "**/{vs,sql}/editor/{common,browser}/**" + ] + }, + { + "target": "**/{vs,sql}/editor/test/browser/**", + "restrictions": [ + "assert", + "sinon", + "vs/nls", + "**/{vs,sql}/base/{common,browser}/**", + "**/{vs,sql}/platform/*/{common,browser}/**", + "**/{vs,sql}/platform/*/test/{common,browser}/**", + "**/{vs,sql}/editor/{common,browser}/**", + "**/{vs,sql}/editor/test/{common,browser}/**" + ] + }, + { + "target": "**/{vs,sql}/editor/standalone/common/**", + "restrictions": [ + "vs/nls", + "**/{vs,sql}/base/common/**", + "**/{vs,sql}/platform/*/common/**", + "**/{vs,sql}/editor/common/**", + "**/{vs,sql}/editor/standalone/common/**" + ] + }, + { + "target": "**/{vs,sql}/editor/standalone/test/common/**", + "restrictions": [ + "assert", + "sinon", + "vs/nls", + "**/{vs,sql}/base/common/**", + "**/{vs,sql}/platform/*/common/**", + "**/{vs,sql}/platform/*/test/common/**", + "**/{vs,sql}/editor/common/**", + "**/{vs,sql}/editor/test/common/**" + ] + }, + { + "target": "**/{vs,sql}/editor/standalone/browser/**", + "restrictions": [ + "vs/nls", + "vs/css!./**/*", + "**/{vs,sql}/base/{common,browser}/**", + "**/{vs,sql}/base/parts/*/{common,browser}/**", + "**/{vs,sql}/platform/*/{common,browser}/**", + "**/{vs,sql}/editor/{common,browser}/**", + "**/{vs,sql}/editor/contrib/**", + "**/{vs,sql}/editor/standalone/{common,browser}/**" + ] + }, + { + "target": "**/{vs,sql}/editor/standalone/test/browser/**", + "restrictions": [ + "assert", + "sinon", + "vs/nls", + "**/{vs,sql}/base/{common,browser}/**", + "**/{vs,sql}/platform/*/{common,browser}/**", + "**/{vs,sql}/platform/*/test/{common,browser}/**", + "**/{vs,sql}/editor/{common,browser}/**", + "**/{vs,sql}/editor/standalone/{common,browser}/**", + "**/{vs,sql}/editor/test/{common,browser}/**" + ] + }, + { + "target": "**/{vs,sql}/editor/contrib/*/test/**", + "restrictions": [ + "assert", + "sinon", + "vs/nls", + "**/{vs,sql}/base/{common,browser}/**", + "**/{vs,sql}/base/test/{common,browser}/**", + "**/{vs,sql}/base/parts/*/{common,browser}/**", + "**/{vs,sql}/platform/*/{common,browser}/**", + "**/{vs,sql}/platform/*/test/{common,browser}/**", + "**/{vs,sql}/editor/{common,browser}/**", + "**/{vs,sql}/editor/test/{common,browser}/**", + "**/{vs,sql}/editor/contrib/**" + ] + }, + { + "target": "**/{vs,sql}/editor/contrib/**", + "restrictions": [ + "vs/nls", + "vs/css!./**/*", + "**/{vs,sql}/base/{common,browser}/**", + "**/{vs,sql}/base/parts/*/{common,browser}/**", + "**/{vs,sql}/platform/{common,browser}/**", + "**/{vs,sql}/platform/*/{common,browser}/**", + "**/{vs,sql}/editor/{common,browser}/**", + "**/{vs,sql}/editor/contrib/**" + ] + }, + { + "target": "**/{vs,sql}/workbench/common/**", + "restrictions": [ + "vs/nls", + "azdata", + "**/{vs,sql}/base/common/**", + "**/{vs,sql}/base/parts/*/common/**", + "**/{vs,sql}/platform/*/common/**", + "**/{vs,sql}/editor/common/**", + "**/{vs,sql}/editor/contrib/*/common/**", + "**/{vs,sql}/workbench/common/**", + "**/{vs,sql}/workbench/services/*/common/**", + "assert" + ] + }, + { + "target": "**/{vs,sql}/workbench/browser/**", + "restrictions": [ + "vs/nls", + "azdata", + "@angular/*", + "vs/css!./**/*", + "**/{vs,sql}/base/{common,browser}/**", + "**/{vs,sql}/base/parts/*/{common,browser}/**", + "**/{vs,sql}/platform/*/{common,browser}/**", + "**/{vs,sql}/editor/{common,browser}/**", + "**/{vs,sql}/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention + "**/{vs,sql}/workbench/workbench.web.api", + "**/{vs,sql}/workbench/{common,browser}/**", + "**/{vs,sql}/workbench/services/*/{common,browser}/**", + "assert" + ] + }, + { + "target": "**/vs/workbench/workbench.desktop.main.ts", + "restrictions": [ + "**" + ] + }, + { + "target": "**/{vs,sql}/workbench/api/common/**", + "restrictions": [ + "vscode", + "azdata", + "vs/nls", + "**/{vs,sql}/base/common/**", + "**/{vs,sql}/platform/*/common/**", + "**/vs/editor/common/**", + "**/{vs,sql}/editor/contrib/*/common/**", + "**/{vs,sql}/workbench/api/common/**", + "**/{vs,sql}/workbench/common/**", + "**/{vs,sql}/workbench/services/*/common/**", + "**/{vs,sql}/workbench/contrib/*/common/**" + ] + }, + { + "target": "**/{vs,sql}/workbench/api/worker/**", + "restrictions": [ + "vscode", + "azdata", + "vs/nls", + "**/{vs,sql}/**/{common,worker}/**" + ] + }, + { + "target": "**/{vs,sql}/workbench/electron-browser/**", + "restrictions": [ + "vs/nls", + "vs/css!./**/*", + "**/{vs,sql}/base/{common,browser,node,electron-browser}/**", + "**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**", + "**/{vs,sql}/platform/*/{common,browser,node,electron-browser}/**", + "**/{vs,sql}/editor/{common,browser,node,electron-browser}/**", + "**/{vs,sql}/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention + "**/{vs,sql}/workbench/{common,browser,node,electron-browser,api}/**", + "**/{vs,sql}/workbench/services/*/{common,browser,node,electron-browser}/**", + "!path" // node modules (except path where we have our own impl) + ] + }, + { + "target": "**/{vs,sql}/workbench/services/**/test/**", + "restrictions": [ + "vs/nls", + "vs/css!./**/*", + "**/{vs,sql}/base/**", + "**/{vs,sql}/platform/**", + "**/{vs,sql}/editor/**", + "**/{vs,sql}/workbench/{common,browser,node,electron-browser}/**", + "vs/workbench/contrib/files/common/editors/fileEditorInput", + "**/{vs,sql}/workbench/services/**", + "**/{vs,sql}/workbench/test/**", + "!path" // node modules (except path where we have our own impl) + ] } ] }, diff --git a/package.json b/package.json index 56e1d0e93e..f6dfa1f2fa 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "update-localization-extension": "node build/npm/update-localization-extension.js", "smoketest": "cd test/smoke && node test/index.js", "monaco-compile-check": "tsc -p src/tsconfig.monaco.json --noEmit", - "strict-vscode": "node node_modules/typescript/bin/tsc -p src/tsconfig.vscode.json", - "strict-vscode-watch": "node node_modules/typescript/bin/tsc -p src/tsconfig.vscode.json --watch", + "strict-vscode": "node --max_old_space_size=4095 node_modules/typescript/bin/tsc -p src/tsconfig.vscode.json", + "strict-vscode-watch": "node --max_old_space_size=4095 node_modules/typescript/bin/tsc -p src/tsconfig.vscode.json --watch", "strict-initialization-watch": "tsc --watch -p src/tsconfig.json --noEmit --strictPropertyInitialization", "valid-layers-check": "node build/lib/layersChecker.js", "strict-function-types-watch": "tsc --watch -p src/tsconfig.json --noEmit --strictFunctionTypes", diff --git a/src/sql/workbench/contrib/dashboard/browser/core/componentHost.directive.ts b/src/sql/base/browser/componentHost.directive.ts similarity index 100% rename from src/sql/workbench/contrib/dashboard/browser/core/componentHost.directive.ts rename to src/sql/base/browser/componentHost.directive.ts diff --git a/src/sql/platform/notebooks/common/outputRegistry.ts b/src/sql/platform/notebooks/common/outputRegistry.ts index 67d04c8f40..76335ae287 100644 --- a/src/sql/platform/notebooks/common/outputRegistry.ts +++ b/src/sql/platform/notebooks/common/outputRegistry.ts @@ -9,6 +9,8 @@ export const Extensions = { CellComponentContributions: 'notebook.contributions.cells' }; +export const HideInputTag = 'hide_input'; + export interface ICellComponenetRegistry { registerComponent(component: any): void; getComponents(): Array; @@ -31,4 +33,4 @@ Registry.add(Extensions.CellComponentContributions, componentRegistry); export function registerCellComponent(component: any): void { componentRegistry.registerComponent(component); -} \ No newline at end of file +} diff --git a/src/sql/workbench/contrib/query/common/constants.ts b/src/sql/platform/query/common/constants.ts similarity index 100% rename from src/sql/workbench/contrib/query/common/constants.ts rename to src/sql/platform/query/common/constants.ts diff --git a/src/sql/workbench/api/common/extHostNotebookEditor.ts b/src/sql/workbench/api/common/extHostNotebookEditor.ts index 1f7802ed93..45e611acb7 100644 --- a/src/sql/workbench/api/common/extHostNotebookEditor.ts +++ b/src/sql/workbench/api/common/extHostNotebookEditor.ts @@ -13,8 +13,8 @@ import { readonly } from 'vs/base/common/errors'; import { MainThreadNotebookDocumentsAndEditorsShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { ExtHostNotebookDocumentData } from 'sql/workbench/api/common/extHostNotebookDocumentData'; import { CellRange, ISingleNotebookEditOperation, ICellRange } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { HideInputTag } from 'sql/workbench/contrib/notebook/browser/models/cell'; import { find } from 'vs/base/common/arrays'; +import { HideInputTag } from 'sql/platform/notebooks/common/outputRegistry'; export interface INotebookEditOperation { range: azdata.nb.CellRange; diff --git a/src/sql/workbench/api/common/sqlExtHostTypes.ts b/src/sql/workbench/api/common/sqlExtHostTypes.ts index 1e812a6588..430329e9d2 100644 --- a/src/sql/workbench/api/common/sqlExtHostTypes.ts +++ b/src/sql/workbench/api/common/sqlExtHostTypes.ts @@ -41,6 +41,11 @@ export enum EditRowState { dirtyUpdate = 3 } +export enum ExtensionNodeType { + Server = 'Server', + Database = 'Database' +} + export enum TaskStatus { NotStarted = 0, InProgress = 1, @@ -199,11 +204,6 @@ export enum StepCompletionAction { GoToStep = 4 } -export enum ExtensionNodeType { - Server = 'Server', - Database = 'Database' -} - export interface CheckBoxInfo { row: number; columnName: string; diff --git a/src/sql/workbench/browser/modal/modal.ts b/src/sql/workbench/browser/modal/modal.ts index 7bd2fa4071..b7bc942f79 100644 --- a/src/sql/workbench/browser/modal/modal.ts +++ b/src/sql/workbench/browser/modal/modal.ts @@ -17,7 +17,6 @@ import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService import { Button } from 'sql/base/browser/ui/button/button'; import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { localize } from 'vs/nls'; -import { MessageLevel } from 'sql/workbench/api/common/sqlExtHostTypes'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { isUndefinedOrNull } from 'vs/base/common/types'; import { ILogService } from 'vs/platform/log/common/log'; @@ -29,6 +28,12 @@ import { find, firstIndex } from 'vs/base/common/arrays'; import { IThemable } from 'vs/base/common/styler'; import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry'; +export enum MessageLevel { + Error = 0, + Warning = 1, + Information = 2 +} + export const MODAL_SHOWING_KEY = 'modalShowing'; export const MODAL_SHOWING_CONTEXT = new RawContextKey>(MODAL_SHOWING_KEY, []); const INFO_ALT_TEXT = localize('infoAltText', "Information"); diff --git a/src/sql/workbench/browser/modal/optionsDialog.ts b/src/sql/workbench/browser/modal/optionsDialog.ts index 01f780572f..52bb2db3af 100644 --- a/src/sql/workbench/browser/modal/optionsDialog.ts +++ b/src/sql/workbench/browser/modal/optionsDialog.ts @@ -9,7 +9,6 @@ import { SelectBox } from 'sql/base/browser/ui/selectBox/selectBox'; import { IModalOptions, Modal } from './modal'; import * as OptionsDialogHelper from './optionsDialogHelper'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; -import { ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { ScrollableSplitView } from 'sql/base/browser/ui/scrollableSplitview/scrollableSplitview'; import * as azdata from 'azdata'; @@ -36,6 +35,7 @@ import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry'; import { ViewPane, IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer'; import { attachModalDialogStyler, attachPanelStyler } from 'sql/workbench/common/styler'; import { IViewDescriptorService } from 'vs/workbench/common/views'; +import { ServiceOptionType } from 'sql/platform/connection/common/interfaces'; export class CategoryView extends ViewPane { diff --git a/src/sql/workbench/browser/modal/optionsDialogHelper.ts b/src/sql/workbench/browser/modal/optionsDialogHelper.ts index ac87d82b97..f57de42cbd 100644 --- a/src/sql/workbench/browser/modal/optionsDialogHelper.ts +++ b/src/sql/workbench/browser/modal/optionsDialogHelper.ts @@ -11,8 +11,8 @@ import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; import * as types from 'vs/base/common/types'; import * as azdata from 'azdata'; import { localize } from 'vs/nls'; -import { ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { startsWith } from 'vs/base/common/strings'; +import { ServiceOptionType } from 'sql/platform/connection/common/interfaces'; export interface IOptionElement { optionWidget: any; diff --git a/src/sql/workbench/browser/modelComponents/card.component.ts b/src/sql/workbench/browser/modelComponents/card.component.ts index 34232ed973..8c3b3155f4 100644 --- a/src/sql/workbench/browser/modelComponents/card.component.ts +++ b/src/sql/workbench/browser/modelComponents/card.component.ts @@ -14,11 +14,44 @@ import * as colors from 'vs/platform/theme/common/colorRegistry'; import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { ComponentWithIconBase } from 'sql/workbench/browser/modelComponents/componentWithIconBase'; -import { StatusIndicator, CardProperties, ActionDescriptor, CardDescriptionItem, ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; import * as DOM from 'vs/base/browser/dom'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; + +export interface ActionDescriptor { + label: string; + actionTitle?: string; + callbackData?: any; +} + +export enum StatusIndicator { + None = 0, + Ok = 1, + Warning = 2, + Error = 3 +} + +export interface CardProperties { + label: string; + value?: string; + actions?: ActionDescriptor[]; + descriptions?: CardDescriptionItem[]; + status?: StatusIndicator; + selected?: boolean; + cardType: CardType; +} + +export interface CardDescriptionItem { + label: string; + value?: string; +} + +export enum CardType { + VerticalButton = 'VerticalButton', + Details = 'Details', + ListItem = 'ListItem' +} @Component({ templateUrl: decodeURI(require.toUrl('./card.component.html')) diff --git a/src/sql/workbench/browser/modelComponents/checkbox.component.ts b/src/sql/workbench/browser/modelComponents/checkbox.component.ts index 560ba1e51a..60bc9b722d 100644 --- a/src/sql/workbench/browser/modelComponents/checkbox.component.ts +++ b/src/sql/workbench/browser/modelComponents/checkbox.component.ts @@ -14,8 +14,7 @@ import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBa import { Checkbox, ICheckboxOptions } from 'sql/base/browser/ui/checkbox/checkbox'; import { attachCheckboxStyler } from 'sql/platform/theme/common/styler'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ selector: 'modelview-checkbox', diff --git a/src/sql/workbench/browser/modelComponents/componentBase.ts b/src/sql/workbench/browser/modelComponents/componentBase.ts index ffe4240a14..890386562d 100644 --- a/src/sql/workbench/browser/modelComponents/componentBase.ts +++ b/src/sql/workbench/browser/modelComponents/componentBase.ts @@ -20,9 +20,7 @@ import { EventType, addDisposableListener } from 'vs/base/browser/dom'; import { IKeyboardEvent, StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { endsWith } from 'vs/base/common/strings'; import { firstIndex } from 'vs/base/common/arrays'; -import { IComponentDescriptor, IComponent, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { IComponentEventArgs, ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; - +import { IComponentDescriptor, IComponent, IModelStore, IComponentEventArgs, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; export type IUserFriendlyIcon = string | URI | { light: string | URI; dark: string | URI }; diff --git a/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts b/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts index 7a8c3ee17a..c7debb7b62 100644 --- a/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts +++ b/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts @@ -15,8 +15,7 @@ import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBa import { ISelectData } from 'vs/base/browser/ui/selectBox/selectBox'; import { find } from 'vs/base/common/arrays'; import { localize } from 'vs/nls'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; export enum DeclarativeDataType { string = 'string', diff --git a/src/sql/workbench/browser/modelComponents/divContainer.component.ts b/src/sql/workbench/browser/modelComponents/divContainer.component.ts index 56fdbb4762..6000cc27cd 100644 --- a/src/sql/workbench/browser/modelComponents/divContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/divContainer.component.ts @@ -15,8 +15,7 @@ import { ContainerBase } from 'sql/workbench/browser/modelComponents/componentBa import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; -import { IComponentDescriptor, IComponent, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponentDescriptor, IComponent, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; class DivItem { constructor(public descriptor: IComponentDescriptor, public config: azdata.DivItemLayout) { } diff --git a/src/sql/workbench/browser/modelComponents/dropdown.component.ts b/src/sql/workbench/browser/modelComponents/dropdown.component.ts index 2620264eb8..65646fffe0 100644 --- a/src/sql/workbench/browser/modelComponents/dropdown.component.ts +++ b/src/sql/workbench/browser/modelComponents/dropdown.component.ts @@ -20,8 +20,7 @@ import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/work import { IContextViewService } from 'vs/platform/contextview/browser/contextView'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { find } from 'vs/base/common/arrays'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ selector: 'modelview-dropdown', diff --git a/src/sql/workbench/browser/modelComponents/editor.component.ts b/src/sql/workbench/browser/modelComponents/editor.component.ts index 4a3ba80ca9..cb2491f037 100644 --- a/src/sql/workbench/browser/modelComponents/editor.component.ts +++ b/src/sql/workbench/browser/modelComponents/editor.component.ts @@ -23,8 +23,7 @@ import { UntitledTextEditorInput } from 'vs/workbench/common/editor/untitledText 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 { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ template: '', diff --git a/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts b/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts index a3c953acda..adeb43459c 100644 --- a/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts +++ b/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts @@ -14,8 +14,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { FileBrowserViewModel } from 'sql/workbench/services/fileBrowser/common/fileBrowserViewModel'; import { FileNode } from 'sql/workbench/services/fileBrowser/common/fileNode'; import { FileBrowserTreeView } from 'sql/workbench/services/fileBrowser/browser/fileBrowserTreeView'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ selector: 'modelview-fileBrowserTree', diff --git a/src/sql/workbench/browser/modelComponents/hyperlink.component.ts b/src/sql/workbench/browser/modelComponents/hyperlink.component.ts index dc190573e0..8eb19a64e1 100644 --- a/src/sql/workbench/browser/modelComponents/hyperlink.component.ts +++ b/src/sql/workbench/browser/modelComponents/hyperlink.component.ts @@ -11,8 +11,7 @@ import { import * as azdata from 'azdata'; import { TitledComponent } from 'sql/workbench/browser/modelComponents/titledComponent'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ selector: 'modelview-hyperlink', diff --git a/src/sql/workbench/browser/modelComponents/inputbox.component.ts b/src/sql/workbench/browser/modelComponents/inputbox.component.ts index e245392b4d..1f4582a2f8 100644 --- a/src/sql/workbench/browser/modelComponents/inputbox.component.ts +++ b/src/sql/workbench/browser/modelComponents/inputbox.component.ts @@ -23,8 +23,7 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; import * as DOM from 'vs/base/browser/dom'; import { assign } from 'vs/base/common/objects'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ selector: 'modelview-inputBox', diff --git a/src/sql/workbench/browser/modelComponents/listbox.component.ts b/src/sql/workbench/browser/modelComponents/listbox.component.ts index 5a345e25e2..0830a556ae 100644 --- a/src/sql/workbench/browser/modelComponents/listbox.component.ts +++ b/src/sql/workbench/browser/modelComponents/listbox.component.ts @@ -18,8 +18,7 @@ import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/work import { IContextViewService } from 'vs/platform/contextview/browser/contextView'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { KeyCode } from 'vs/base/common/keyCodes'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ selector: 'modelview-listBox', diff --git a/src/sql/workbench/browser/modelComponents/modelComponentWrapper.component.ts b/src/sql/workbench/browser/modelComponents/modelComponentWrapper.component.ts index f65ef96fc0..d534d0b5e3 100644 --- a/src/sql/workbench/browser/modelComponents/modelComponentWrapper.component.ts +++ b/src/sql/workbench/browser/modelComponents/modelComponentWrapper.component.ts @@ -8,7 +8,6 @@ import { ElementRef, OnInit, ChangeDetectorRef, ReflectiveInjector, Injector, ComponentRef } from '@angular/core'; -import { ComponentHostDirective } from 'sql/workbench/contrib/dashboard/browser/core/componentHost.directive'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { IComponentConfig, COMPONENT_CONFIG } from './interfaces'; import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/browser/modelComponentRegistry'; @@ -24,6 +23,7 @@ import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; import { IBootstrapParams } from 'sql/workbench/services/bootstrap/common/bootstrapParams'; import { IComponentDescriptor, IModelStore, IComponent } from 'sql/platform/dashboard/browser/interfaces'; +import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive'; const componentRegistry = Registry.as(Extensions.ComponentContribution); diff --git a/src/sql/workbench/browser/modelComponents/radioButton.component.ts b/src/sql/workbench/browser/modelComponents/radioButton.component.ts index a679d1394a..462b813a0a 100644 --- a/src/sql/workbench/browser/modelComponents/radioButton.component.ts +++ b/src/sql/workbench/browser/modelComponents/radioButton.component.ts @@ -13,8 +13,7 @@ import * as azdata from 'azdata'; import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; import { RadioButton } from 'sql/base/browser/ui/radioButton/radioButton'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ selector: 'modelview-radioButton', diff --git a/src/sql/workbench/browser/modelComponents/radioCardGroup.component.ts b/src/sql/workbench/browser/modelComponents/radioCardGroup.component.ts index cd8452cb94..22a78c17f6 100644 --- a/src/sql/workbench/browser/modelComponents/radioCardGroup.component.ts +++ b/src/sql/workbench/browser/modelComponents/radioCardGroup.component.ts @@ -10,8 +10,7 @@ import * as DOM from 'vs/base/browser/dom'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; import 'vs/css!./media/card'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; -import { ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; @Component({ templateUrl: decodeURI(require.toUrl('./radioCardGroup.component.html')) diff --git a/src/sql/workbench/browser/modelComponents/table.component.ts b/src/sql/workbench/browser/modelComponents/table.component.ts index 92861ba1d5..a5cf475468 100644 --- a/src/sql/workbench/browser/modelComponents/table.component.ts +++ b/src/sql/workbench/browser/modelComponents/table.component.ts @@ -10,7 +10,6 @@ import { } from '@angular/core'; import * as azdata from 'azdata'; -import { ColumnSizingMode, ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; @@ -26,7 +25,13 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; import { slickGridDataItemColumnValueWithNoData, textFormatter } from 'sql/base/browser/ui/table/formatters'; import { isUndefinedOrNull } from 'vs/base/common/types'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/platform/dashboard/browser/interfaces'; + +export enum ColumnSizingMode { + ForceFit = 0, // all columns will be sized to fit in viewable space, no horiz scroll bar + AutoFit = 1, // columns will be ForceFit up to a certain number; currently 3. At 4 or more the behavior will switch to NO force fit + DataFit = 2 // columns use sizing based on cell data, horiz scroll bar present if more cells than visible in view area +} @Component({ selector: 'modelview-table', diff --git a/src/sql/workbench/browser/modelComponents/toolbarContainer.component.ts b/src/sql/workbench/browser/modelComponents/toolbarContainer.component.ts index 80032844f9..24448054ec 100644 --- a/src/sql/workbench/browser/modelComponents/toolbarContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/toolbarContainer.component.ts @@ -9,11 +9,18 @@ import { ElementRef, OnDestroy, AfterViewInit } from '@angular/core'; -import { Orientation, ToolbarLayout } from 'sql/workbench/api/common/sqlExtHostTypes'; - import { ContainerBase } from 'sql/workbench/browser/modelComponents/componentBase'; import { IComponentDescriptor, IComponent, IModelStore } from 'sql/platform/dashboard/browser/interfaces'; +export enum Orientation { + Horizontal = 'horizontal', + Vertical = 'vertial' +} + +export interface ToolbarLayout { + orientation: Orientation; +} + export interface ToolbarItemConfig { title?: string; toolbarSeparatorAfter?: boolean; diff --git a/src/sql/workbench/browser/modelComponents/treeViewDataProvider.ts b/src/sql/workbench/browser/modelComponents/treeViewDataProvider.ts index b1568c8bd0..a4e459d02c 100644 --- a/src/sql/workbench/browser/modelComponents/treeViewDataProvider.ts +++ b/src/sql/workbench/browser/modelComponents/treeViewDataProvider.ts @@ -3,10 +3,13 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ +// eslint-disable-next-line code-import-patterns import { ExtHostModelViewTreeViewsShape, SqlExtHostContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; +// eslint-disable-next-line code-import-patterns import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { IModelViewTreeViewDataProvider, ITreeComponentItem } from 'sql/workbench/common/views'; import { INotificationService } from 'vs/platform/notification/common/notification'; +// eslint-disable-next-line code-import-patterns import * as vsTreeView from 'vs/workbench/api/browser/mainThreadTreeViews'; export class TreeViewDataProvider extends vsTreeView.TreeViewDataProvider implements IModelViewTreeViewDataProvider { diff --git a/src/sql/workbench/browser/modelComponents/viewBase.ts b/src/sql/workbench/browser/modelComponents/viewBase.ts index 0273db6e55..9e5b6d07d0 100644 --- a/src/sql/workbench/browser/modelComponents/viewBase.ts +++ b/src/sql/workbench/browser/modelComponents/viewBase.ts @@ -9,14 +9,13 @@ import { Registry } from 'vs/platform/registry/common/platform'; import * as nls from 'vs/nls'; import * as azdata from 'azdata'; -import { IItemConfig, ModelComponentTypes, IComponentShape } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { IModelView, IModelViewEventArgs } from 'sql/platform/model/browser/modelViewService'; +import { IModelView, IModelViewEventArgs, IComponentShape, IItemConfig } from 'sql/platform/model/browser/modelViewService'; import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/browser/modelComponentRegistry'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { ModelStore } from 'sql/workbench/browser/modelComponents/modelStore'; import { Event, Emitter } from 'vs/base/common/event'; import { assign } from 'vs/base/common/objects'; -import { IModelStore, IComponentDescriptor, IComponent } from 'sql/platform/dashboard/browser/interfaces'; +import { IModelStore, IComponentDescriptor, IComponent, ModelComponentTypes } from 'sql/platform/dashboard/browser/interfaces'; const componentRegistry = Registry.as(Extensions.ComponentContribution); diff --git a/src/sql/workbench/browser/parts/editor/editorStatusModeSelect.ts b/src/sql/workbench/browser/parts/editor/editorStatusModeSelect.ts index 54c3f1ec39..46f36a2ff8 100644 --- a/src/sql/workbench/browser/parts/editor/editorStatusModeSelect.ts +++ b/src/sql/workbench/browser/parts/editor/editorStatusModeSelect.ts @@ -11,7 +11,7 @@ import { INotificationService } from 'vs/platform/notification/common/notificati import { localize } from 'vs/nls'; import { Registry } from 'vs/platform/registry/common/platform'; -import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; const languageAssociationRegistry = Registry.as(LanguageAssociationExtensions.LanguageAssociations); diff --git a/src/sql/workbench/browser/parts/views/customView.ts b/src/sql/workbench/browser/parts/views/customView.ts index 87ef50d2a3..8b00dd1c8e 100644 --- a/src/sql/workbench/browser/parts/views/customView.ts +++ b/src/sql/workbench/browser/parts/views/customView.ts @@ -45,8 +45,8 @@ import { FuzzyScore, createMatches } from 'vs/base/common/filters'; import { CollapseAllAction } from 'vs/base/browser/ui/tree/treeDefaults'; import { ITreeItem, ITreeView } from 'sql/workbench/common/views'; -import { IOEShimService } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim'; -import { NodeContextKey } from 'sql/workbench/contrib/dataExplorer/browser/nodeContext'; +import { IOEShimService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim'; +import { NodeContextKey } from 'sql/workbench/browser/parts/views/nodeContext'; import { UserCancelledConnectionError } from 'sql/base/common/errors'; import { firstIndex } from 'vs/base/common/arrays'; import { ViewPane, IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer'; diff --git a/src/sql/workbench/contrib/dataExplorer/browser/nodeContext.ts b/src/sql/workbench/browser/parts/views/nodeContext.ts similarity index 92% rename from src/sql/workbench/contrib/dataExplorer/browser/nodeContext.ts rename to src/sql/workbench/browser/parts/views/nodeContext.ts index 1f8bb2e89f..2993ea2f62 100644 --- a/src/sql/workbench/contrib/dataExplorer/browser/nodeContext.ts +++ b/src/sql/workbench/browser/parts/views/nodeContext.ts @@ -3,13 +3,13 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ConnectionContextKey } from 'sql/workbench/contrib/connection/common/connectionContextKey'; -import { IOEShimService } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim'; +import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; +import { IOEShimService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim'; import { ITreeItem } from 'sql/workbench/common/views'; import { Disposable } from 'vs/base/common/lifecycle'; import { IContextKey, IContextKeyService, RawContextKey } from 'vs/platform/contextkey/common/contextkey'; import { IQueryManagementService } from 'sql/workbench/services/query/common/queryManagement'; -import { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; +import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; diff --git a/src/sql/workbench/browser/taskUtilities.ts b/src/sql/workbench/browser/taskUtilities.ts index 50599e410a..4650f9ec96 100644 --- a/src/sql/workbench/browser/taskUtilities.ts +++ b/src/sql/workbench/browser/taskUtilities.ts @@ -9,13 +9,8 @@ import { IConnectionCompletionOptions, ConnectionType, RunQueryOnConnectionMode, IConnectionResult } from 'sql/platform/connection/common/connectionManagement'; -import { EditDataInput } from 'sql/workbench/contrib/editData/browser/editDataInput'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; -import { DashboardInput } from 'sql/workbench/contrib/dashboard/browser/dashboardInput'; -import { ProfilerInput } from 'sql/workbench/contrib/profiler/browser/profilerInput'; - import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; export function replaceConnection(oldUri: string, newUri: string, connectionService: IConnectionManagementService): Promise { return new Promise((resolve, reject) => { @@ -81,12 +76,7 @@ export function getCurrentGlobalConnection(objectExplorerService: IObjectExplore let activeInput = workbenchEditorService.activeEditor; if (activeInput) { - if (activeInput instanceof QueryEditorInput || activeInput instanceof EditDataInput || activeInput instanceof DashboardInput) { - connection = connectionManagementService.getConnectionProfile(activeInput.uri); - } - else if (activeInput instanceof ProfilerInput) { - connection = activeInput.connection; - } + connection = connectionManagementService.getConnectionProfile(activeInput.getResource().toString()); } return connection; diff --git a/src/sql/workbench/common/sqlWorkbenchUtils.ts b/src/sql/workbench/common/sqlWorkbenchUtils.ts index 1fff338885..8f6b4c8baf 100644 --- a/src/sql/workbench/common/sqlWorkbenchUtils.ts +++ b/src/sql/workbench/common/sqlWorkbenchUtils.ts @@ -4,11 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as ConnectionConstants from 'sql/platform/connection/common/constants'; -import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; - import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { URI } from 'vs/base/common/uri'; -import { IEditorInput } from 'vs/workbench/common/editor'; /** * Gets the 'sql' configuration section for use in looking up settings. Note that configs under @@ -23,15 +19,3 @@ export function getSqlConfigValue(workspaceConfigService: IConfigurationServi let config = workspaceConfigService.getValue(ConnectionConstants.sqlConfigSectionName); return config[configName]; } - -export function getEditorUri(input: IEditorInput): string { - let uri: URI; - if (input instanceof QueryEditorInput) { - uri = input.getResource(); - } - - if (uri) { - return uri.toString(true); - } - return undefined; -} diff --git a/src/sql/workbench/common/views.ts b/src/sql/workbench/common/views.ts index 4abfe9d6ab..5f764b2c64 100644 --- a/src/sql/workbench/common/views.ts +++ b/src/sql/workbench/common/views.ts @@ -5,7 +5,11 @@ import { ITreeViewDataProvider, ITreeItem as vsITreeItem, IViewDescriptor, ITreeView as vsITreeView } from 'vs/workbench/common/views'; import { IConnectionProfile } from 'azdata'; -import { ExtensionNodeType } from 'sql/workbench/api/common/sqlExtHostTypes'; + +export enum NodeType { + Server = 'Server', + Database = 'Database' +} export interface ITreeComponentItem extends vsITreeItem { checked?: boolean; @@ -15,7 +19,7 @@ export interface ITreeComponentItem extends vsITreeItem { } export interface IModelViewTreeViewDataProvider extends ITreeViewDataProvider { - refresh(itemsToRefreshByHandle: { [treeItemHandle: string]: ITreeComponentItem }); + refresh(itemsToRefreshByHandle: { [treeItemHandle: string]: ITreeComponentItem }): void; } export interface ITreeItem extends vsITreeItem { @@ -23,7 +27,7 @@ export interface ITreeItem extends vsITreeItem { childProvider?: string; payload?: IConnectionProfile; // its possible we will want this to be more generic sqlIcon?: string; - type?: ExtensionNodeType; + type?: NodeType; } export interface ITreeView extends vsITreeView { diff --git a/src/sql/workbench/common/workspaceActions.ts b/src/sql/workbench/common/workspaceActions.ts index d9d3c5664c..e2ad175bd0 100644 --- a/src/sql/workbench/common/workspaceActions.ts +++ b/src/sql/workbench/common/workspaceActions.ts @@ -5,7 +5,7 @@ import { Action } from 'vs/base/common/actions'; import { IOpenerService } from 'vs/platform/opener/common/opener'; -// eslint-disable-next-line code-layering +// eslint-disable-next-line code-layering,code-import-patterns import { IElectronService } from 'vs/platform/electron/node/electron'; import { URI } from 'vs/base/common/uri'; diff --git a/src/sql/workbench/contrib/backup/browser/backup.contribution.ts b/src/sql/workbench/contrib/backup/browser/backup.contribution.ts index aa3bd7e848..52600a2a82 100644 --- a/src/sql/workbench/contrib/backup/browser/backup.contribution.ts +++ b/src/sql/workbench/contrib/backup/browser/backup.contribution.ts @@ -10,13 +10,13 @@ import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { ManageActionContext } from 'sql/workbench/browser/actions'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { ItemContextKey } from 'sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerTreeContext'; -import { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; +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 { ConnectionContextKey } from 'sql/workbench/contrib/connection/common/connectionContextKey'; +import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; import { ServerInfoContextKey } from 'sql/workbench/contrib/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/dashboard/browser/contents/dashboardWidgetWrapper.component.ts b/src/sql/workbench/contrib/dashboard/browser/contents/dashboardWidgetWrapper.component.ts index a2a2426e74..8895f5b690 100644 --- a/src/sql/workbench/contrib/dashboard/browser/contents/dashboardWidgetWrapper.component.ts +++ b/src/sql/workbench/contrib/dashboard/browser/contents/dashboardWidgetWrapper.component.ts @@ -11,7 +11,7 @@ import { ElementRef, OnInit, ChangeDetectorRef, ReflectiveInjector, Injector, Type, ComponentRef } from '@angular/core'; -import { ComponentHostDirective } from 'sql/workbench/contrib/dashboard/browser/core/componentHost.directive'; +import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive'; import { WidgetConfig, WIDGET_CONFIG, IDashboardWidget } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget'; import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/browser/insightRegistry'; import { RefreshWidgetAction, ToggleMoreWidgetAction, DeleteWidgetAction, CollapseWidgetAction } from 'sql/workbench/contrib/dashboard/browser/core/actions'; diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboard.contribution.ts b/src/sql/workbench/contrib/dashboard/browser/dashboard.contribution.ts index 645d9eb205..64ea022826 100644 --- a/src/sql/workbench/contrib/dashboard/browser/dashboard.contribution.ts +++ b/src/sql/workbench/contrib/dashboard/browser/dashboard.contribution.ts @@ -15,7 +15,7 @@ import { DASHBOARD_CONFIG_ID } from 'sql/workbench/contrib/dashboard/browser/pag import { DATABASE_DASHBOARD_PROPERTIES, databaseDashboardPropertiesSchema, DATABASE_DASHBOARD_SETTING, databaseDashboardSettingSchema, DATABASE_DASHBOARD_TABS, databaseDashboardTabsSchema } from 'sql/workbench/contrib/dashboard/browser/pages/databaseDashboardPage.contribution'; import { SERVER_DASHBOARD_PROPERTIES, serverDashboardPropertiesSchema, SERVER_DASHBOARD_SETTING, serverDashboardSettingSchema, SERVER_DASHBOARD_TABS, serverDashboardTabsSchema } from 'sql/workbench/contrib/dashboard/browser/pages/serverDashboardPage.contribution'; import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; -import { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; +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 { DE_MANAGE_COMMAND_ID, OE_MANAGE_COMMAND_ID } from 'sql/workbench/contrib/dashboard/browser/dashboardActions'; diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboard.module.ts b/src/sql/workbench/contrib/dashboard/browser/dashboard.module.ts index a8899116a6..0686f623d5 100644 --- a/src/sql/workbench/contrib/dashboard/browser/dashboard.module.ts +++ b/src/sql/workbench/contrib/dashboard/browser/dashboard.module.ts @@ -28,7 +28,7 @@ import { DashboardServiceInterface } from 'sql/workbench/contrib/dashboard/brows import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; /* Directives */ -import { ComponentHostDirective } from 'sql/workbench/contrib/dashboard/browser/core/componentHost.directive'; +import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive'; /* Base Components */ import { DashboardComponent } from 'sql/workbench/contrib/dashboard/browser/dashboard.component'; diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboardEditor.ts b/src/sql/workbench/contrib/dashboard/browser/dashboardEditor.ts index 268d817f22..ddefc597f7 100644 --- a/src/sql/workbench/contrib/dashboard/browser/dashboardEditor.ts +++ b/src/sql/workbench/contrib/dashboard/browser/dashboardEditor.ts @@ -16,7 +16,7 @@ import { DashboardModule } from './dashboard.module'; import { bootstrapAngular } from 'sql/workbench/services/bootstrap/browser/bootstrapService'; import { IDashboardComponentParams } from 'sql/workbench/services/bootstrap/common/bootstrapParams'; import { DASHBOARD_SELECTOR } from 'sql/workbench/contrib/dashboard/browser/dashboard.component'; -import { ConnectionContextKey } from 'sql/workbench/contrib/connection/common/connectionContextKey'; +import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; diff --git a/src/sql/workbench/contrib/dashboard/browser/widgets/insights/insightsWidget.component.ts b/src/sql/workbench/contrib/dashboard/browser/widgets/insights/insightsWidget.component.ts index 69766a2514..d6055655b7 100644 --- a/src/sql/workbench/contrib/dashboard/browser/widgets/insights/insightsWidget.component.ts +++ b/src/sql/workbench/contrib/dashboard/browser/widgets/insights/insightsWidget.component.ts @@ -12,7 +12,7 @@ import 'rxjs/add/observable/fromPromise'; import { DashboardWidget, IDashboardWidget, WIDGET_CONFIG, WidgetConfig } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; -import { ComponentHostDirective } from 'sql/workbench/contrib/dashboard/browser/core/componentHost.directive'; +import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive'; import { InsightAction, InsightActionContext } from 'sql/workbench/browser/actions'; import { Extensions, IInsightRegistry, IInsightsConfig, IInsightsView, getWidgetAutoRefreshState } from 'sql/platform/dashboard/browser/insightRegistry'; import { resolveQueryFilePath } from 'sql/workbench/services/insights/common/insightsUtils'; diff --git a/src/sql/workbench/contrib/dataExplorer/browser/extensionActions.ts b/src/sql/workbench/contrib/dataExplorer/browser/extensionActions.ts index 2d81833e49..e544fc6014 100644 --- a/src/sql/workbench/contrib/dataExplorer/browser/extensionActions.ts +++ b/src/sql/workbench/contrib/dataExplorer/browser/extensionActions.ts @@ -6,7 +6,7 @@ import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands'; import { TreeViewItemHandleArg } from 'sql/workbench/common/views'; import * as azdata from 'azdata'; -import { IOEShimService } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim'; +import { IOEShimService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim'; 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/dataExplorer/browser/extensions.contribution.ts b/src/sql/workbench/contrib/dataExplorer/browser/extensions.contribution.ts index 6cfa4dde0a..c86d475dd2 100644 --- a/src/sql/workbench/contrib/dataExplorer/browser/extensions.contribution.ts +++ b/src/sql/workbench/contrib/dataExplorer/browser/extensions.contribution.ts @@ -6,9 +6,9 @@ import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { DATA_TIER_WIZARD_COMMAND_ID, PROFILER_COMMAND_ID, IMPORT_COMMAND_ID, SCHEMA_COMPARE_COMMAND_ID, GENERATE_SCRIPTS_COMMAND_ID, PROPERTIES_COMMAND_ID } from 'sql/workbench/contrib/dataExplorer/browser/extensionActions'; import { ContextKeyExpr, ContextKeyRegexExpr } from 'vs/platform/contextkey/common/contextkey'; -import { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; +import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { localize } from 'vs/nls'; import { DatabaseEngineEdition } from 'sql/workbench/api/common/sqlExtHostTypes'; diff --git a/src/sql/workbench/contrib/dataExplorer/browser/nodeActions.common.contribution.ts b/src/sql/workbench/contrib/dataExplorer/browser/nodeActions.common.contribution.ts index 9fa2bed969..e651f243fc 100644 --- a/src/sql/workbench/contrib/dataExplorer/browser/nodeActions.common.contribution.ts +++ b/src/sql/workbench/contrib/dataExplorer/browser/nodeActions.common.contribution.ts @@ -10,9 +10,9 @@ import { DISCONNECT_COMMAND_ID, REFRESH_COMMAND_ID } from './nodeCommands.common'; import { ContextKeyExpr, ContextKeyNotEqualsExpr } from 'vs/platform/contextkey/common/contextkey'; -import { NodeContextKey } from 'sql/workbench/contrib/dataExplorer/browser/nodeContext'; -import { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { NodeContextKey } from 'sql/workbench/browser/parts/views/nodeContext'; +import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; // Disconnect diff --git a/src/sql/workbench/contrib/dataExplorer/browser/nodeCommands.common.ts b/src/sql/workbench/contrib/dataExplorer/browser/nodeCommands.common.ts index 1b815dfcb8..d5c5f94df4 100644 --- a/src/sql/workbench/contrib/dataExplorer/browser/nodeCommands.common.ts +++ b/src/sql/workbench/contrib/dataExplorer/browser/nodeCommands.common.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IOEShimService } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim'; +import { IOEShimService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim'; import { ICustomViewDescriptor, TreeViewItemHandleArg } from 'sql/workbench/common/views'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { IViewsRegistry, Extensions } from 'vs/workbench/common/views'; diff --git a/src/sql/workbench/contrib/dataExplorer/browser/nodeContextUtils.ts b/src/sql/workbench/contrib/dataExplorer/browser/nodeContextUtils.ts index 773a301347..774c12a825 100644 --- a/src/sql/workbench/contrib/dataExplorer/browser/nodeContextUtils.ts +++ b/src/sql/workbench/contrib/dataExplorer/browser/nodeContextUtils.ts @@ -3,15 +3,14 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { INodeContextValue } from 'sql/workbench/contrib/dataExplorer/browser/nodeContext'; +import { INodeContextValue } from 'sql/workbench/browser/parts/views/nodeContext'; import { RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { Disposable } from 'vs/base/common/lifecycle'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; -import { ExtensionNodeType } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { isWindows } from 'vs/base/common/platform'; export class NodeContextUtils extends Disposable { @@ -129,8 +128,8 @@ export class NodeContextUtils extends Disposable { private setIsDatabaseOrServer(): void { const isDatabaseOrServer = (this.nodeContextValue.node.contextValue === NodeType.Server || this.nodeContextValue.node.contextValue === NodeType.Database || - this.nodeContextValue.node.type === ExtensionNodeType.Server || - this.nodeContextValue.node.type === ExtensionNodeType.Database); + this.nodeContextValue.node.type === NodeType.Server || + this.nodeContextValue.node.type === NodeType.Database); this.isDatabaseOrServerKey.set(isDatabaseOrServer); } diff --git a/src/sql/workbench/contrib/editData/browser/gridParentComponent.ts b/src/sql/workbench/contrib/editData/browser/gridParentComponent.ts index f55e798314..ddcb2a6aa6 100644 --- a/src/sql/workbench/contrib/editData/browser/gridParentComponent.ts +++ b/src/sql/workbench/contrib/editData/browser/gridParentComponent.ts @@ -8,7 +8,7 @@ import 'vs/css!./media/styles'; import { Table } from 'sql/base/browser/ui/table/table'; import { Subscription, Subject } from 'rxjs/Rx'; -import * as Constants from 'sql/workbench/contrib/query/common/constants'; +import * as Constants from 'sql/platform/query/common/constants'; import * as LocalizedConstants from 'sql/workbench/contrib/query/common/localizedConstants'; import { IGridInfo, IGridDataSet, SaveFormat } from 'sql/workbench/contrib/grid/common/interfaces'; import * as Utils from 'sql/platform/connection/common/utils'; diff --git a/src/sql/workbench/common/editorReplacer.contribution.ts b/src/sql/workbench/contrib/editorReplacement/common/editorReplacer.contribution.ts similarity index 87% rename from src/sql/workbench/common/editorReplacer.contribution.ts rename to src/sql/workbench/contrib/editorReplacement/common/editorReplacer.contribution.ts index bcfa5da426..c2a7d60076 100644 --- a/src/sql/workbench/common/editorReplacer.contribution.ts +++ b/src/sql/workbench/contrib/editorReplacement/common/editorReplacer.contribution.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { EditorReplacementContribution } from 'sql/workbench/common/editorReplacerContribution'; +import { EditorReplacementContribution } from 'sql/workbench/contrib/editorReplacement/common/editorReplacerContribution'; import { Registry } from 'vs/platform/registry/common/platform'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; diff --git a/src/sql/workbench/common/editorReplacerContribution.ts b/src/sql/workbench/contrib/editorReplacement/common/editorReplacerContribution.ts similarity index 97% rename from src/sql/workbench/common/editorReplacerContribution.ts rename to src/sql/workbench/contrib/editorReplacement/common/editorReplacerContribution.ts index 7130609e81..76c84ca921 100644 --- a/src/sql/workbench/common/editorReplacerContribution.ts +++ b/src/sql/workbench/contrib/editorReplacement/common/editorReplacerContribution.ts @@ -14,7 +14,7 @@ import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileE import { Registry } from 'vs/platform/registry/common/platform'; import * as path from 'vs/base/common/path'; -import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; import { UntitledTextEditorInput } from 'vs/workbench/common/editor/untitledTextEditorInput'; const languageAssociationRegistry = Registry.as(LanguageAssociationExtensions.LanguageAssociations); diff --git a/src/sql/workbench/test/common/editorReplacerContribution.test.ts b/src/sql/workbench/contrib/editorReplacement/test/common/editorReplacerContribution.test.ts similarity index 98% rename from src/sql/workbench/test/common/editorReplacerContribution.test.ts rename to src/sql/workbench/contrib/editorReplacement/test/common/editorReplacerContribution.test.ts index e303538982..15649fe368 100644 --- a/src/sql/workbench/test/common/editorReplacerContribution.test.ts +++ b/src/sql/workbench/contrib/editorReplacement/test/common/editorReplacerContribution.test.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; -import { EditorReplacementContribution } from 'sql/workbench/common/editorReplacerContribution'; +import { EditorReplacementContribution } from 'sql/workbench/contrib/editorReplacement/common/editorReplacerContribution'; import { TestEditorService } from 'vs/workbench/test/browser/workbenchTestServices'; import { IModeService, ILanguageSelection } from 'vs/editor/common/services/modeService'; import { Event } from 'vs/base/common/event'; @@ -19,7 +19,7 @@ import { IEditorGroup } from 'vs/workbench/services/editor/common/editorGroupsSe import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; import { Registry } from 'vs/platform/registry/common/platform'; -import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; import { QueryEditorLanguageAssociation } from 'sql/workbench/contrib/query/common/queryInputFactory'; import { workbenchInstantiationService } from 'sql/workbench/test/workbenchTestServices'; import { NotebookEditorInputAssociation } from 'sql/workbench/contrib/notebook/common/models/nodebookInputFactory'; diff --git a/src/sql/workbench/browser/modelComponents/components.contribution.ts b/src/sql/workbench/contrib/modelView/browser/components.contribution.ts similarity index 67% rename from src/sql/workbench/browser/modelComponents/components.contribution.ts rename to src/sql/workbench/contrib/modelView/browser/components.contribution.ts index cebfff409a..230ccddc37 100644 --- a/src/sql/workbench/browser/modelComponents/components.contribution.ts +++ b/src/sql/workbench/contrib/modelView/browser/components.contribution.ts @@ -2,34 +2,35 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import DivContainer from './divContainer.component'; -import FlexContainer from './flexContainer.component'; -import FormContainer from './formContainer.component'; -import ToolbarContainer from './toolbarContainer.component'; -import GroupContainer from './groupContainer.component'; -import CardComponent from './card.component'; -import InputBoxComponent from './inputbox.component'; -import DropDownComponent from './dropdown.component'; -import DeclarativeTableComponent from './declarativeTable.component'; -import ListBoxComponent from './listbox.component'; -import ButtonComponent from './button.component'; -import CheckBoxComponent from './checkbox.component'; -import TreeComponent from './tree.component'; -import RadioButtonComponent from './radioButton.component'; -import WebViewComponent from './webview.component'; -import TableComponent from './table.component'; -import TextComponent from './text.component'; -import ImageComponent from './image.component'; -import LoadingComponent from './loadingComponent.component'; -import FileBrowserTreeComponent from './fileBrowserTree.component'; -import EditorComponent from './editor.component'; -import DiffEditorComponent from './diffeditor.component'; -import DomComponent from './dom.component'; + +import DivContainer from 'sql/workbench/browser/modelComponents/divContainer.component'; +import FlexContainer from 'sql/workbench/browser/modelComponents/flexContainer.component'; +import FormContainer from 'sql/workbench/browser/modelComponents/formContainer.component'; +import ToolbarContainer from 'sql/workbench/browser/modelComponents/toolbarContainer.component'; +import GroupContainer from 'sql/workbench/browser/modelComponents/groupContainer.component'; +import CardComponent from 'sql/workbench/browser/modelComponents/card.component'; +import InputBoxComponent from 'sql/workbench/browser/modelComponents/inputbox.component'; +import DropDownComponent from 'sql/workbench/browser/modelComponents/dropdown.component'; +import DeclarativeTableComponent from 'sql/workbench/browser/modelComponents/declarativeTable.component'; +import ListBoxComponent from 'sql/workbench/browser/modelComponents/listbox.component'; +import ButtonComponent from 'sql/workbench/browser/modelComponents/button.component'; +import CheckBoxComponent from 'sql/workbench/browser/modelComponents/checkbox.component'; +import TreeComponent from 'sql/workbench/browser/modelComponents/tree.component'; +import RadioButtonComponent from 'sql/workbench/browser/modelComponents/radioButton.component'; +import WebViewComponent from 'sql/workbench/contrib/modelView/browser/webview.component'; +import TableComponent from 'sql/workbench/browser/modelComponents/table.component'; +import TextComponent from 'sql/workbench/browser/modelComponents/text.component'; +import ImageComponent from 'sql/workbench/browser/modelComponents/image.component'; +import LoadingComponent from 'sql/workbench/browser/modelComponents/loadingComponent.component'; +import FileBrowserTreeComponent from 'sql/workbench/browser/modelComponents/fileBrowserTree.component'; +import EditorComponent from 'sql/workbench/browser/modelComponents/editor.component'; +import DiffEditorComponent from 'sql/workbench/browser/modelComponents/diffeditor.component'; +import DomComponent from 'sql/workbench/browser/modelComponents/dom.component'; import { registerComponentType } from 'sql/platform/dashboard/browser/modelComponentRegistry'; -import { ModelComponentTypes } from 'sql/workbench/api/common/sqlExtHostTypes'; import HyperlinkComponent from 'sql/workbench/browser/modelComponents/hyperlink.component'; import SplitViewContainer from 'sql/workbench/browser/modelComponents/splitviewContainer.component'; import RadioCardGroup from 'sql/workbench/browser/modelComponents/radioCardGroup.component'; +import { ModelComponentTypes } from 'sql/platform/dashboard/browser/interfaces'; export const DIV_CONTAINER = 'div-container'; registerComponentType(DIV_CONTAINER, ModelComponentTypes.DivContainer, DivContainer); @@ -109,4 +110,3 @@ registerComponentType(HYPERLINK_COMPONENT, ModelComponentTypes.Hyperlink, Hyperl export const RADIOCARDGROUP_COMPONENT = 'radiocardgroup-component'; registerComponentType(RADIOCARDGROUP_COMPONENT, ModelComponentTypes.RadioCardGroup, RadioCardGroup); - diff --git a/src/sql/workbench/browser/modelComponents/media/webview.css b/src/sql/workbench/contrib/modelView/browser/media/webview.css similarity index 100% rename from src/sql/workbench/browser/modelComponents/media/webview.css rename to src/sql/workbench/contrib/modelView/browser/media/webview.css diff --git a/src/sql/workbench/browser/modelComponents/webview.component.ts b/src/sql/workbench/contrib/modelView/browser/webview.component.ts similarity index 98% rename from src/sql/workbench/browser/modelComponents/webview.component.ts rename to src/sql/workbench/contrib/modelView/browser/webview.component.ts index da54498f94..fc5bbdb993 100644 --- a/src/sql/workbench/browser/modelComponents/webview.component.ts +++ b/src/sql/workbench/contrib/modelView/browser/webview.component.ts @@ -206,7 +206,7 @@ export default class WebViewComponent extends ComponentBase implements IComponen options = reviveWebviewOptions(options); return { allowScripts: options.enableScripts, - localResourceRoots: options!.localResourceRoots || this.getDefaultLocalResourceRoots() + localResourceRoots: options.localResourceRoots || this.getDefaultLocalResourceRoots() }; } 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 a00f578d38..1e3f48bf10 100644 --- a/src/sql/workbench/contrib/notebook/browser/cellViews/output.component.ts +++ b/src/sql/workbench/contrib/notebook/browser/cellViews/output.component.ts @@ -12,7 +12,7 @@ import { ICellModel } from 'sql/workbench/contrib/notebook/browser/models/modelI 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'; -import { ComponentHostDirective } from 'sql/workbench/contrib/dashboard/browser/core/componentHost.directive'; +import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive'; import { Extensions, IMimeComponent, IMimeComponentRegistry } from 'sql/workbench/contrib/notebook/browser/outputs/mimeRegistry'; import * as colors from 'vs/platform/theme/common/colorRegistry'; import * as themeColors from 'vs/workbench/common/theme'; diff --git a/src/sql/workbench/contrib/notebook/browser/models/cell.ts b/src/sql/workbench/contrib/notebook/browser/models/cell.ts index 7360c401a0..240446c720 100644 --- a/src/sql/workbench/contrib/notebook/browser/models/cell.ts +++ b/src/sql/workbench/contrib/notebook/browser/models/cell.ts @@ -23,9 +23,9 @@ import { getErrorMessage } from 'vs/base/common/errors'; import { generateUuid } from 'vs/base/common/uuid'; import { IModelContentChangedEvent } from 'vs/editor/common/model/textModelEvents'; import { firstIndex, find } from 'vs/base/common/arrays'; -let modelId = 0; +import { HideInputTag } from 'sql/platform/notebooks/common/outputRegistry'; -export const HideInputTag = 'hide_input'; +let modelId = 0; export class CellModel implements ICellModel { public id: string; diff --git a/src/sql/workbench/contrib/notebook/browser/notebook.contribution.ts b/src/sql/workbench/contrib/notebook/browser/notebook.contribution.ts index 7e2cafef8d..cb60e3615b 100644 --- a/src/sql/workbench/contrib/notebook/browser/notebook.contribution.ts +++ b/src/sql/workbench/contrib/notebook/browser/notebook.contribution.ts @@ -9,7 +9,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { localize } from 'vs/nls'; import { IEditorInputFactoryRegistry, Extensions as EditorInputFactoryExtensions } from 'vs/workbench/common/editor'; -import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; import { UntitledNotebookInput } from 'sql/workbench/contrib/notebook/common/models/untitledNotebookInput'; import { FileNotebookInput } from 'sql/workbench/contrib/notebook/common/models/fileNotebookInput'; import { FileNoteBookEditorInputFactory, UntitledNoteBookEditorInputFactory, NotebookEditorInputAssociation } from 'sql/workbench/contrib/notebook/common/models/nodebookInputFactory'; @@ -28,8 +28,8 @@ import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; import { URI } from 'vs/base/common/uri'; import { IWorkspaceEditingService } from 'vs/workbench/services/workspaces/common/workspaceEditing'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; -import { NodeContextKey } from 'sql/workbench/contrib/dataExplorer/browser/nodeContext'; -import { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; +import { NodeContextKey } from 'sql/workbench/browser/parts/views/nodeContext'; +import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { TreeViewItemHandleArg } from 'sql/workbench/common/views'; diff --git a/src/sql/workbench/contrib/notebook/browser/notebook.module.ts b/src/sql/workbench/contrib/notebook/browser/notebook.module.ts index 1195518ee8..71ee5445ab 100644 --- a/src/sql/workbench/contrib/notebook/browser/notebook.module.ts +++ b/src/sql/workbench/contrib/notebook/browser/notebook.module.ts @@ -8,7 +8,7 @@ import { FormsModule } from '@angular/forms'; import { CommonModule, APP_BASE_HREF } from '@angular/common'; import { BrowserModule } from '@angular/platform-browser'; -import { ComponentHostDirective } from 'sql/workbench/contrib/dashboard/browser/core/componentHost.directive'; +import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive'; import { providerIterator } from 'sql/workbench/services/bootstrap/browser/bootstrapService'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; import { EditableDropDown } from 'sql/platform/browser/editableDropdown/editableDropdown.component'; diff --git a/src/sql/workbench/contrib/notebook/common/models/nodebookInputFactory.ts b/src/sql/workbench/contrib/notebook/common/models/nodebookInputFactory.ts index 06bc9e64d6..5b62c6f2e2 100644 --- a/src/sql/workbench/contrib/notebook/common/models/nodebookInputFactory.ts +++ b/src/sql/workbench/contrib/notebook/common/models/nodebookInputFactory.ts @@ -11,7 +11,7 @@ import { FileNotebookInput } from 'sql/workbench/contrib/notebook/common/models/ import { UntitledNotebookInput } from 'sql/workbench/contrib/notebook/common/models/untitledNotebookInput'; import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; import { UntitledTextEditorInput } from 'vs/workbench/common/editor/untitledTextEditorInput'; -import { ILanguageAssociation } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociation } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; import { NotebookInput } from 'sql/workbench/contrib/notebook/browser/models/notebookInput'; const editorInputFactoryRegistry = Registry.as(EditorInputExtensions.EditorInputFactories); diff --git a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider.ts b/src/sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider.ts index e18e786a8b..207dc7fcb5 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider.ts +++ b/src/sql/workbench/contrib/objectExplorer/browser/serverTreeActionProvider.ts @@ -14,13 +14,13 @@ import { DeleteConnectionAction, RefreshAction, EditServerGroupAction } from 'sql/workbench/contrib/objectExplorer/browser/connectionTreeAction'; import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +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 { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { MenuId, IMenuService } from 'vs/platform/actions/common/actions'; -import { ConnectionContextKey } from 'sql/workbench/contrib/connection/common/connectionContextKey'; +import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; import { TreeNodeContextKey } from 'sql/workbench/contrib/objectExplorer/common/treeNodeContextKey'; import { IQueryManagementService } from 'sql/workbench/services/query/common/queryManagement'; import { ServerInfoContextKey } from 'sql/workbench/contrib/connection/common/serverInfoContextKey'; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils.ts b/src/sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils.ts index e3de2fe006..0529bd072f 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils.ts +++ b/src/sql/workbench/contrib/objectExplorer/browser/treeUpdateUtils.ts @@ -8,7 +8,7 @@ import { IConnectionManagementService, IConnectionCompletionOptions, IConnection import { ITree } from 'vs/base/parts/tree/browser/tree'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; import * as errors from 'vs/base/common/errors'; diff --git a/src/sql/workbench/contrib/objectExplorer/common/treeNode.ts b/src/sql/workbench/contrib/objectExplorer/common/treeNode.ts index d947309427..a249714c28 100644 --- a/src/sql/workbench/contrib/objectExplorer/common/treeNode.ts +++ b/src/sql/workbench/contrib/objectExplorer/common/treeNode.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; -import { NodeType, SqlThemeIcon } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { NodeType, SqlThemeIcon } from 'sql/workbench/services/objectExplorer/common/nodeType'; import * as azdata from 'azdata'; import * as UUID from 'vs/base/common/uuid'; 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 829e986186..b050e8a072 100644 --- a/src/sql/workbench/contrib/objectExplorer/test/browser/connectionTreeActions.test.ts +++ b/src/sql/workbench/contrib/objectExplorer/test/browser/connectionTreeActions.test.ts @@ -19,7 +19,7 @@ import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/ser import * as LocalizedConstants from 'sql/workbench/contrib/connection/common/localizedConstants'; import { ObjectExplorerService, ObjectExplorerNodeEventArgs } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +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 { Emitter, Event } from 'vs/base/common/event'; diff --git a/src/sql/workbench/contrib/query/browser/flavorStatus.ts b/src/sql/workbench/contrib/query/browser/flavorStatus.ts index f2d122e112..e901514553 100644 --- a/src/sql/workbench/contrib/query/browser/flavorStatus.ts +++ b/src/sql/workbench/contrib/query/browser/flavorStatus.ts @@ -12,7 +12,6 @@ import { getCodeEditor } from 'vs/editor/browser/editorBrowser'; import * as nls from 'vs/nls'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import * as WorkbenchUtils from 'sql/workbench/common/sqlWorkbenchUtils'; import { DidChangeLanguageFlavorParams } from 'azdata'; import Severity from 'vs/base/common/severity'; import { INotificationService } from 'vs/platform/notification/common/notification'; @@ -97,12 +96,12 @@ export class SqlFlavorStatusbarItem extends Disposable implements IWorkbenchCont } private _onEditorClosed(event: IEditorCloseEvent): void { - let uri = WorkbenchUtils.getEditorUri(event.editor); + let uri = event.editor.getResource().toString(); if (uri && uri in this._sqlStatusEditors) { // If active editor is being closed, hide the query status. let activeEditor = this.editorService.activeControl; if (activeEditor) { - let currentUri = WorkbenchUtils.getEditorUri(activeEditor.input); + let currentUri = activeEditor.input.getResource().toString(); if (uri === currentUri) { this.hide(); } @@ -115,7 +114,7 @@ export class SqlFlavorStatusbarItem extends Disposable implements IWorkbenchCont private _onEditorsChanged(): void { let activeEditor = this.editorService.activeControl; if (activeEditor) { - let uri = WorkbenchUtils.getEditorUri(activeEditor.input); + let uri = activeEditor.input.getResource().toString(); // Show active editor's language flavor status if (uri) { @@ -146,7 +145,7 @@ export class SqlFlavorStatusbarItem extends Disposable implements IWorkbenchCont private _showStatus(uri: string): void { let activeEditor = this.editorService.activeControl; if (activeEditor) { - let currentUri = WorkbenchUtils.getEditorUri(activeEditor.input); + let currentUri = activeEditor.input.getResource().toString(); if (uri === currentUri) { let flavor: SqlProviderEntry = this._sqlStatusEditors[uri]; if (flavor) { @@ -187,7 +186,7 @@ export class ChangeFlavorAction extends Action { public run(): Promise { let activeEditor = this._editorService.activeControl; - let currentUri = WorkbenchUtils.getEditorUri(activeEditor.input); + let currentUri = activeEditor?.input.getResource().toString(); if (this._connectionManagementService.isConnected(currentUri)) { let currentProvider = this._connectionManagementService.getProviderIdFromUri(currentUri); return this._showMessage(Severity.Info, nls.localize('alreadyConnected', diff --git a/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts b/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts index 93e33b0303..c7661c376f 100644 --- a/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts +++ b/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts @@ -15,7 +15,7 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/con import { QueryEditor } from 'sql/workbench/contrib/query/browser/queryEditor'; import { IQueryModelService } from 'sql/workbench/services/query/common/queryModel'; import * as WorkbenchUtils from 'sql/workbench/common/sqlWorkbenchUtils'; -import * as Constants from 'sql/workbench/contrib/query/common/constants'; +import * as Constants from 'sql/platform/query/common/constants'; 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'; diff --git a/src/sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.module.ts b/src/sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.module.ts index a36c5d3f5a..c3c36a4384 100644 --- a/src/sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.module.ts +++ b/src/sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab.module.ts @@ -13,7 +13,7 @@ import { WizardNavigation } from 'sql/workbench/services/dialog/browser/wizardNa import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/browser/modelComponentRegistry'; import { ModelViewContent } from 'sql/workbench/browser/modelComponents/modelViewContent.component'; import { ModelComponentWrapper } from 'sql/workbench/browser/modelComponents/modelComponentWrapper.component'; -import { ComponentHostDirective } from 'sql/workbench/contrib/dashboard/browser/core/componentHost.directive'; +import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive'; import { providerIterator } from 'sql/workbench/services/bootstrap/browser/bootstrapService'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; import { EditableDropDown } from 'sql/platform/browser/editableDropdown/editableDropdown.component'; diff --git a/src/sql/workbench/contrib/query/browser/query.contribution.ts b/src/sql/workbench/contrib/query/browser/query.contribution.ts index fea8c4cdbb..c92cfd47f4 100644 --- a/src/sql/workbench/contrib/query/browser/query.contribution.ts +++ b/src/sql/workbench/contrib/query/browser/query.contribution.ts @@ -25,7 +25,7 @@ import { } from 'sql/workbench/contrib/query/browser/keyboardQueryActions'; import * as gridActions from 'sql/workbench/contrib/editData/common/gridActions'; import * as gridCommands from 'sql/workbench/contrib/editData/browser/gridCommands'; -import * as Constants from 'sql/workbench/contrib/query/common/constants'; +import * as Constants from 'sql/platform/query/common/constants'; import { localize } from 'vs/nls'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; @@ -36,10 +36,10 @@ import { IEditorInputFactoryRegistry, Extensions as EditorInputFactoryExtensions 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 { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/common/languageAssociation'; +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 { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; +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'; import { ItemContextKey } from 'sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerTreeContext'; diff --git a/src/sql/workbench/contrib/query/common/queryInputFactory.ts b/src/sql/workbench/contrib/query/common/queryInputFactory.ts index 1d2f8438e4..3676024f99 100644 --- a/src/sql/workbench/contrib/query/common/queryInputFactory.ts +++ b/src/sql/workbench/contrib/query/common/queryInputFactory.ts @@ -12,7 +12,7 @@ import { UntitledQueryEditorInput } from 'sql/workbench/contrib/query/common/unt import { FileQueryEditorInput } from 'sql/workbench/contrib/query/common/fileQueryEditorInput'; import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; import { UntitledTextEditorInput } from 'vs/workbench/common/editor/untitledTextEditorInput'; -import { ILanguageAssociation } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociation } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; import { QueryEditorInput } from 'sql/workbench/contrib/query/common/queryEditorInput'; import { getCurrentGlobalConnection } from 'sql/workbench/browser/taskUtilities'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; diff --git a/src/sql/workbench/contrib/queryPlan/browser/queryPlan.contribution.ts b/src/sql/workbench/contrib/queryPlan/browser/queryPlan.contribution.ts index 185b1ec1a1..e66fa76a1d 100644 --- a/src/sql/workbench/contrib/queryPlan/browser/queryPlan.contribution.ts +++ b/src/sql/workbench/contrib/queryPlan/browser/queryPlan.contribution.ts @@ -8,7 +8,7 @@ import { EditorDescriptor, IEditorRegistry, Extensions } from 'vs/workbench/brow import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { Registry } from 'vs/platform/registry/common/platform'; import { QueryPlanEditor } from 'sql/workbench/contrib/queryPlan/browser/queryPlanEditor'; -import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociationRegistry, Extensions as LanguageAssociationExtensions } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; // Query Plan editor registration diff --git a/src/sql/workbench/contrib/queryPlan/common/queryPlanInput.ts b/src/sql/workbench/contrib/queryPlan/common/queryPlanInput.ts index 14daf33dca..b9205e8cd4 100644 --- a/src/sql/workbench/contrib/queryPlan/common/queryPlanInput.ts +++ b/src/sql/workbench/contrib/queryPlan/common/queryPlanInput.ts @@ -9,7 +9,7 @@ import { IFileService } from 'vs/platform/files/common/files'; import { URI } from 'vs/base/common/uri'; import { UntitledTextEditorInput } from 'vs/workbench/common/editor/untitledTextEditorInput'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { ILanguageAssociation } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociation } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; export class QueryPlanConverter implements ILanguageAssociation { static readonly languages = ['sqlplan']; diff --git a/src/sql/workbench/contrib/restore/browser/restore.contribution.ts b/src/sql/workbench/contrib/restore/browser/restore.contribution.ts index 584004cde4..2983ca53ad 100644 --- a/src/sql/workbench/contrib/restore/browser/restore.contribution.ts +++ b/src/sql/workbench/contrib/restore/browser/restore.contribution.ts @@ -8,13 +8,13 @@ import { TreeViewItemHandleArg } from 'sql/workbench/common/views'; import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { localize } from 'vs/nls'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; -import { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; +import { MssqlNodeContext } from 'sql/workbench/services/objectExplorer/browser/mssqlNodeContext'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +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 { ConnectionContextKey } from 'sql/workbench/contrib/connection/common/connectionContextKey'; +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'; diff --git a/src/sql/workbench/contrib/scripting/browser/scripting.contribution.ts b/src/sql/workbench/contrib/scripting/browser/scripting.contribution.ts index 1f0642c524..209dfd7196 100644 --- a/src/sql/workbench/contrib/scripting/browser/scripting.contribution.ts +++ b/src/sql/workbench/contrib/scripting/browser/scripting.contribution.ts @@ -5,12 +5,12 @@ import { MenuId, MenuRegistry } from 'vs/platform/actions/common/actions'; import * as commands from 'sql/workbench/contrib/scripting/browser/scriptingActions'; -import { MssqlNodeContext } from 'sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext'; +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 { ConnectionContextKey } from 'sql/workbench/contrib/connection/common/connectionContextKey'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +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'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ItemContextKey } from 'sql/workbench/contrib/dashboard/browser/widgets/explorer/explorerTreeContext'; diff --git a/src/sql/workbench/contrib/scripting/browser/scriptingActions.ts b/src/sql/workbench/contrib/scripting/browser/scriptingActions.ts index 90b2f974c2..16e0a4d4a4 100644 --- a/src/sql/workbench/contrib/scripting/browser/scriptingActions.ts +++ b/src/sql/workbench/contrib/scripting/browser/scriptingActions.ts @@ -8,7 +8,7 @@ import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMess import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { TreeViewItemHandleArg } from 'sql/workbench/common/views'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; -import { IOEShimService } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim'; +import { IOEShimService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim'; import { IQueryEditorService } from 'sql/workbench/services/queryEditor/common/queryEditorService'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IProgressService, ProgressLocation } from 'vs/platform/progress/common/progress'; 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 d7175de989..06bd61f9b9 100644 --- a/src/sql/workbench/contrib/scripting/test/browser/scriptingActions.test.ts +++ b/src/sql/workbench/contrib/scripting/test/browser/scriptingActions.test.ts @@ -16,7 +16,7 @@ import { TreeNode } from 'sql/workbench/contrib/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'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeView'; import { createObjectExplorerServiceMock } from 'sql/workbench/services/objectExplorer/test/browser/testObjectExplorerService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/sql/workbench/browser/enablePreviewFeatures.ts b/src/sql/workbench/contrib/welcome/gettingStarted/browser/enablePreviewFeatures.ts similarity index 90% rename from src/sql/workbench/browser/enablePreviewFeatures.ts rename to src/sql/workbench/contrib/welcome/gettingStarted/browser/enablePreviewFeatures.ts index ea4cbab8a6..af1675638a 100644 --- a/src/sql/workbench/browser/enablePreviewFeatures.ts +++ b/src/sql/workbench/contrib/welcome/gettingStarted/browser/enablePreviewFeatures.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { AbstractEnablePreviewFeatures } from 'sql/workbench/common/enablePreviewFeatures'; +import { AbstractEnablePreviewFeatures } from 'sql/workbench/contrib/welcome/gettingStarted/common/enablePreviewFeatures'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { INotificationService } from 'vs/platform/notification/common/notification'; import { IHostService } from 'vs/workbench/services/host/browser/host'; diff --git a/src/sql/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.contribution.ts b/src/sql/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.contribution.ts index 1e4c417821..43e0a8b72f 100644 --- a/src/sql/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.contribution.ts +++ b/src/sql/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.contribution.ts @@ -6,7 +6,7 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; -import { BrowserEnablePreviewFeatures } from 'sql/workbench/browser/enablePreviewFeatures'; +import { BrowserEnablePreviewFeatures } from 'sql/workbench/contrib/welcome/gettingStarted/browser/enablePreviewFeatures'; Registry .as(WorkbenchExtensions.Workbench) diff --git a/src/sql/workbench/common/enablePreviewFeatures.ts b/src/sql/workbench/contrib/welcome/gettingStarted/common/enablePreviewFeatures.ts similarity index 100% rename from src/sql/workbench/common/enablePreviewFeatures.ts rename to src/sql/workbench/contrib/welcome/gettingStarted/common/enablePreviewFeatures.ts diff --git a/src/sql/workbench/electron-browser/enablePreviewFeatures.ts b/src/sql/workbench/contrib/welcome/gettingStarted/electron-browser/enablePreviewFeatures.ts similarity index 91% rename from src/sql/workbench/electron-browser/enablePreviewFeatures.ts rename to src/sql/workbench/contrib/welcome/gettingStarted/electron-browser/enablePreviewFeatures.ts index bb826f89e2..f77cb87319 100644 --- a/src/sql/workbench/electron-browser/enablePreviewFeatures.ts +++ b/src/sql/workbench/contrib/welcome/gettingStarted/electron-browser/enablePreviewFeatures.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { AbstractEnablePreviewFeatures } from 'sql/workbench/common/enablePreviewFeatures'; +import { AbstractEnablePreviewFeatures } from 'sql/workbench/contrib/welcome/gettingStarted/common/enablePreviewFeatures'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { INotificationService } from 'vs/platform/notification/common/notification'; import { IHostService } from 'vs/workbench/services/host/browser/host'; diff --git a/src/sql/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts b/src/sql/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts index 450ed4de3e..94b6eee9cd 100644 --- a/src/sql/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts +++ b/src/sql/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts @@ -6,7 +6,7 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; -import { NativeEnablePreviewFeatures } from 'sql/workbench/electron-browser/enablePreviewFeatures'; +import { NativeEnablePreviewFeatures } from 'sql/workbench/contrib/welcome/gettingStarted/electron-browser/enablePreviewFeatures'; Registry .as(WorkbenchExtensions.Workbench) diff --git a/src/sql/workbench/services/bootstrap/browser/commonServiceInterface.service.ts b/src/sql/workbench/services/bootstrap/browser/commonServiceInterface.service.ts index 60f29177f3..a79a259dc0 100644 --- a/src/sql/workbench/services/bootstrap/browser/commonServiceInterface.service.ts +++ b/src/sql/workbench/services/bootstrap/browser/commonServiceInterface.service.ts @@ -17,7 +17,7 @@ import { IAdminService } from 'sql/workbench/services/admin/common/adminService' import { IQueryManagementService } from 'sql/workbench/services/query/common/queryManagement'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { AngularDisposable } from 'sql/base/browser/lifecycle'; -import { ConnectionContextKey } from 'sql/workbench/contrib/connection/common/connectionContextKey'; +import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; import { ProviderMetadata, DatabaseInfo, SimpleExecuteResult } from 'azdata'; diff --git a/src/sql/workbench/services/bootstrap/common/bootstrapParams.ts b/src/sql/workbench/services/bootstrap/common/bootstrapParams.ts index 8f6f207690..5a0438e740 100644 --- a/src/sql/workbench/services/bootstrap/common/bootstrapParams.ts +++ b/src/sql/workbench/services/bootstrap/common/bootstrapParams.ts @@ -6,7 +6,7 @@ import { DataService } from 'sql/workbench/contrib/grid/common/dataService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; -import { ConnectionContextKey } from 'sql/workbench/contrib/connection/common/connectionContextKey'; +import { ConnectionContextKey } from 'sql/workbench/services/connection/common/connectionContextKey'; import { Event } from 'vs/base/common/event'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/sql/workbench/services/connection/browser/connectionManagementService.ts b/src/sql/workbench/services/connection/browser/connectionManagementService.ts index e692575516..dd498ecb06 100644 --- a/src/sql/workbench/services/connection/browser/connectionManagementService.ts +++ b/src/sql/workbench/services/connection/browser/connectionManagementService.ts @@ -22,7 +22,7 @@ import { ConnectionGlobalStatus } from 'sql/workbench/contrib/connection/common/ 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'; -import * as QueryConstants from 'sql/workbench/contrib/query/common/constants'; +import * as QueryConstants from 'sql/platform/query/common/constants'; import { Deferred } from 'sql/base/common/promise'; import { ConnectionOptionSpecialType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { IConnectionProviderRegistry, Extensions as ConnectionProviderExtensions } from 'sql/workbench/contrib/connection/common/connectionProviderExtension'; diff --git a/src/sql/workbench/contrib/connection/common/connectionContextKey.ts b/src/sql/workbench/services/connection/common/connectionContextKey.ts similarity index 100% rename from src/sql/workbench/contrib/connection/common/connectionContextKey.ts rename to src/sql/workbench/services/connection/common/connectionContextKey.ts diff --git a/src/sql/workbench/services/dialog/browser/dialog.module.ts b/src/sql/workbench/services/dialog/browser/dialog.module.ts index e3929faa68..87924b1e0e 100644 --- a/src/sql/workbench/services/dialog/browser/dialog.module.ts +++ b/src/sql/workbench/services/dialog/browser/dialog.module.ts @@ -15,7 +15,7 @@ import { WizardNavigation } from 'sql/workbench/services/dialog/browser/wizardNa import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/browser/modelComponentRegistry'; import { ModelViewContent } from 'sql/workbench/browser/modelComponents/modelViewContent.component'; import { ModelComponentWrapper } from 'sql/workbench/browser/modelComponents/modelComponentWrapper.component'; -import { ComponentHostDirective } from 'sql/workbench/contrib/dashboard/browser/core/componentHost.directive'; +import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive'; import { providerIterator } from 'sql/workbench/services/bootstrap/browser/bootstrapService'; import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service'; import { EditableDropDown } from 'sql/platform/browser/editableDropdown/editableDropdown.component'; diff --git a/src/sql/workbench/services/languageAssociation/common/doHandleUpgrade.ts b/src/sql/workbench/services/languageAssociation/common/doHandleUpgrade.ts new file mode 100644 index 0000000000..b1df72855c --- /dev/null +++ b/src/sql/workbench/services/languageAssociation/common/doHandleUpgrade.ts @@ -0,0 +1,28 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { EditorInput } from 'vs/workbench/common/editor'; +import { UntitledTextEditorInput } from 'vs/workbench/common/editor/untitledTextEditorInput'; +import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; +import { Extensions as ILanguageAssociationExtensions, ILanguageAssociationRegistry } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; +import { Registry } from 'vs/platform/registry/common/platform'; + +const languageRegistry = Registry.as(ILanguageAssociationExtensions.LanguageAssociations); + +export function doHandleUpgrade(editor?: EditorInput): EditorInput | undefined { + if (editor instanceof UntitledTextEditorInput || editor instanceof FileEditorInput) { + let language: string; + if (editor instanceof UntitledTextEditorInput) { + language = editor.getMode(); + } else { + editor.getPreferredMode(); + } + const association = languageRegistry.getAssociationForLanguage(language); + if (association) { + return association.convertInput(editor); + } + } + return editor; +} diff --git a/src/sql/workbench/common/languageAssociation.ts b/src/sql/workbench/services/languageAssociation/common/languageAssociation.ts similarity index 80% rename from src/sql/workbench/common/languageAssociation.ts rename to src/sql/workbench/services/languageAssociation/common/languageAssociation.ts index 738b527e36..c9ff488b07 100644 --- a/src/sql/workbench/common/languageAssociation.ts +++ b/src/sql/workbench/services/languageAssociation/common/languageAssociation.ts @@ -6,9 +6,6 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { IEditorInput, EditorInput } from 'vs/workbench/common/editor'; import { ServicesAccessor, IInstantiationService, BrandedService } from 'vs/platform/instantiation/common/instantiation'; -import { UntitledTextEditorInput } from 'vs/workbench/common/editor/untitledTextEditorInput'; -import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; -import { getCodeEditor } from 'vs/editor/browser/editorBrowser'; import { IDisposable, toDisposable } from 'vs/base/common/lifecycle'; export type InputCreator = (servicesAccessor: ServicesAccessor, activeEditor: IEditorInput) => EditorInput | undefined; @@ -32,7 +29,7 @@ export interface ILanguageAssociationRegistry { start(accessor: ServicesAccessor): void; } -const languageAssociationRegistery = new class implements ILanguageAssociationRegistry { +const languageAssociationRegistry = new class implements ILanguageAssociationRegistry { private associationsInstances = new Map(); private associationContructors = new Map>(); private defaultAssociationsInstance?: [string, ILanguageAssociation]; @@ -81,17 +78,4 @@ export const Extensions = { LanguageAssociations: 'workbench.contributions.editor.languageAssociation' }; -Registry.add(Extensions.LanguageAssociations, languageAssociationRegistery); - -export function doHandleUpgrade(editor?: EditorInput): EditorInput | undefined { - if (editor instanceof UntitledTextEditorInput || editor instanceof FileEditorInput) { - const activeWidget = getCodeEditor(editor); - const textModel = activeWidget.getModel(); - const oldLanguage = textModel.getLanguageIdentifier().language; - const association = languageAssociationRegistery.getAssociationForLanguage(oldLanguage); - if (association) { - return association.convertInput(editor); - } - } - return editor; -} +Registry.add(Extensions.LanguageAssociations, languageAssociationRegistry); diff --git a/src/sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext.ts b/src/sql/workbench/services/objectExplorer/browser/mssqlNodeContext.ts similarity index 94% rename from src/sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext.ts rename to src/sql/workbench/services/objectExplorer/browser/mssqlNodeContext.ts index 4b9cb2922c..31852cfdff 100644 --- a/src/sql/workbench/contrib/dataExplorer/browser/mssqlNodeContext.ts +++ b/src/sql/workbench/services/objectExplorer/browser/mssqlNodeContext.ts @@ -4,15 +4,15 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; -import { INodeContextValue } from 'sql/workbench/contrib/dataExplorer/browser/nodeContext'; +import { INodeContextValue } from 'sql/workbench/browser/parts/views/nodeContext'; import { RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { Disposable } from 'vs/base/common/lifecycle'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; -import { ExtensionNodeType, DatabaseEngineEdition } from 'sql/workbench/api/common/sqlExtHostTypes'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; +import { DatabaseEngineEdition } from 'sql/workbench/api/common/sqlExtHostTypes'; import { isWindows } from 'vs/base/common/platform'; export class MssqlNodeContext extends Disposable { @@ -153,8 +153,8 @@ export class MssqlNodeContext extends Disposable { private setIsDatabaseOrServer(): void { const isDatabaseOrServer = (this.nodeContextValue.node.contextValue === NodeType.Server || this.nodeContextValue.node.contextValue === NodeType.Database || - this.nodeContextValue.node.type === ExtensionNodeType.Server || - this.nodeContextValue.node.type === ExtensionNodeType.Database); + this.nodeContextValue.node.type === NodeType.Server || + this.nodeContextValue.node.type === NodeType.Database); this.isDatabaseOrServerKey.set(isDatabaseOrServer); } diff --git a/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts b/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts index 83f76759a1..6be4cfd6cf 100644 --- a/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts +++ b/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim.ts b/src/sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim.ts similarity index 99% rename from src/sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim.ts rename to src/sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim.ts index 7071687c54..e28e69d988 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim.ts +++ b/src/sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim.ts @@ -16,7 +16,7 @@ import { generateUuid } from 'vs/base/common/uuid'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { TreeItemCollapsibleState } from 'vs/workbench/common/views'; import { localize } from 'vs/nls'; -import { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { UserCancelledConnectionError } from 'sql/base/common/errors'; import { assign } from 'vs/base/common/objects'; diff --git a/src/sql/workbench/contrib/objectExplorer/common/nodeType.ts b/src/sql/workbench/services/objectExplorer/common/nodeType.ts similarity index 100% rename from src/sql/workbench/contrib/objectExplorer/common/nodeType.ts rename to src/sql/workbench/services/objectExplorer/common/nodeType.ts 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 8bfbd26ca7..53552f596e 100644 --- a/src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts +++ b/src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts @@ -6,7 +6,7 @@ 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 { NodeType } from 'sql/workbench/contrib/objectExplorer/common/nodeType'; +import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType'; import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/contrib/objectExplorer/common/treeNode'; import * as azdata from 'azdata'; diff --git a/src/tsconfig.vscode.json b/src/tsconfig.vscode.json index 9a7843987d..a8425ccc0c 100644 --- a/src/tsconfig.vscode.json +++ b/src/tsconfig.vscode.json @@ -25,11 +25,40 @@ // "./vs/code/**/*.ts", "./vs/editor/**/*.ts", "./vs/platform/**/*.ts", + // "./vs/workbench/common/**/*.ts", + // "./vs/workbench/contrib/debug/common/debugProtocol.d.ts", + // "./vs/workbench/services/activity/**/*.ts", + // "./vs/workbench/services/activityBar/**/*.ts", + // "./vs/workbench/services/authentication/**/*.ts", + // "./vs/workbench/services/bulkEdit/**/*.ts", + // "./vs/workbench/services/clipboard/**/*.ts", + // "./vs/workbench/services/commands/**/*.ts", + // "./vs/workbench/services/contextmenu/**/*.ts", + // "./vs/workbench/services/decorations/**/*.ts", + // "./vs/workbench/services/electron/**/*.ts", + // "./vs/workbench/services/extensionResourceLoader/**/*.ts", + // "./vs/workbench/services/integrity/**/*.ts", + // "./vs/workbench/services/issue/**/*.ts", + // "./vs/workbench/services/layout/**/*.ts", + // "./vs/workbench/services/lifecycle/**/*.ts", + // "./vs/workbench/services/localizations/**/*.ts", + // "./vs/workbench/services/log/**/*.ts", + // "./vs/workbench/services/menubar/**/*.ts", + // "./vs/workbench/services/mode/**/*.ts", + // "./vs/workbench/services/notification/**/*.ts", + // "./vs/workbench/services/request/**/*.ts", + // "./vs/workbench/services/sharedProcess/**/*.ts", + // "./vs/workbench/services/statusbar/**/*.ts", + // "./vs/workbench/services/textMate/**/*.ts", + // "./vs/workbench/services/title/**/*.ts", + // "./vs/workbench/services/untitled/**/*.ts", + // "./vs/workbench/services/userDataSync/**/*.ts", "./sql/base/**/*.ts", "./sql/editor/**/*.ts", "./sql/platform/**/*.ts" ], "exclude": [ - "./vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts" + "./vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts", + "./vs/workbench/common/editor/**/*.ts", ] } diff --git a/src/vs/code/electron-browser/workbench/workbench.js b/src/vs/code/electron-browser/workbench/workbench.js index 604183394d..1db1f45ec4 100644 --- a/src/vs/code/electron-browser/workbench/workbench.js +++ b/src/vs/code/electron-browser/workbench/workbench.js @@ -19,6 +19,7 @@ process['lazyEnv'] = getLazyEnv(); // we know for a fact that workbench.desktop.main will depend on // the related CSS and NLS counterparts. bootstrapWindow.load([ + 'sql/setup', 'vs/workbench/workbench.desktop.main', 'vs/nls!vs/workbench/workbench.desktop.main', 'vs/css!vs/workbench/workbench.desktop.main' diff --git a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts index a733c3bd1f..703a082152 100644 --- a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts +++ b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts @@ -45,7 +45,7 @@ import { ITextFileService } from 'vs/workbench/services/textfile/common/textfile import { basenameOrAuthority } from 'vs/base/common/resources'; // {{SQL CARBON EDIT}} -- Display the editor's tab color -import * as QueryConstants from 'sql/workbench/contrib/query/common/constants'; +import * as QueryConstants from 'sql/platform/query/common/constants'; import * as WorkbenchUtils from 'sql/workbench/common/sqlWorkbenchUtils'; // {{SQL CARBON EDIT}} -- End diff --git a/src/vs/workbench/browser/workbench.ts b/src/vs/workbench/browser/workbench.ts index bb5a3217e4..8dc7d6b7f8 100644 --- a/src/vs/workbench/browser/workbench.ts +++ b/src/vs/workbench/browser/workbench.ts @@ -45,7 +45,7 @@ import { coalesce } from 'vs/base/common/arrays'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; import { Layout } from 'vs/workbench/browser/layout'; import { IHostService } from 'vs/workbench/services/host/browser/host'; -import { ILanguageAssociationRegistry, Extensions as LanguageExtensions } from 'sql/workbench/common/languageAssociation'; +import { ILanguageAssociationRegistry, Extensions as LanguageExtensions } from 'sql/workbench/services/languageAssociation/common/languageAssociation'; import { Extensions as PanelExtensions, PanelRegistry } from 'vs/workbench/browser/panel'; export class Workbench extends Layout { diff --git a/src/vs/workbench/common/editor/editorGroup.ts b/src/vs/workbench/common/editor/editorGroup.ts index 8ecd754f5f..57cc301997 100644 --- a/src/vs/workbench/common/editor/editorGroup.ts +++ b/src/vs/workbench/common/editor/editorGroup.ts @@ -10,9 +10,7 @@ import { IConfigurationService, IConfigurationChangeEvent } from 'vs/platform/co import { dispose, Disposable, DisposableStore } from 'vs/base/common/lifecycle'; import { Registry } from 'vs/platform/registry/common/platform'; import { coalesce } from 'vs/base/common/arrays'; - -// {{SQL CARBON EDIT}} -import { doHandleUpgrade } from 'sql/workbench/common/languageAssociation'; +import { doHandleUpgrade } from 'sql/workbench/services/languageAssociation/common/doHandleUpgrade'; const EditorOpenPositioning = { LEFT: 'left', diff --git a/src/vs/workbench/workbench.common.main.ts b/src/vs/workbench/workbench.common.main.ts index 7fa571582c..052f6bc5f5 100644 --- a/src/vs/workbench/workbench.common.main.ts +++ b/src/vs/workbench/workbench.common.main.ts @@ -151,7 +151,7 @@ import { IResourceProviderService } from 'sql/workbench/services/resourceProvide import { ResourceProviderService } from 'sql/workbench/services/resourceProvider/browser/resourceProviderService'; import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry'; import { AdsTelemetryService } from 'sql/platform/telemetry/common/adsTelemetryService'; -import { OEShimService, IOEShimService } from 'sql/workbench/contrib/objectExplorer/browser/objectExplorerViewTreeShim'; +import { OEShimService, IOEShimService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerViewTreeShim'; import { IObjectExplorerService, ObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { IAngularEventingService } from 'sql/platform/angularEventing/browser/angularEventingService'; import { AngularEventingService } from 'sql/platform/angularEventing/browser/angularEventingServiceImpl'; @@ -390,7 +390,7 @@ import 'sql/workbench/contrib/dataExplorer/browser/nodeActions.common.contributi // {{SQL CARBON EDIT}} //editor replacement -import 'sql/workbench/common/editorReplacer.contribution'; +import 'sql/workbench/contrib/editorReplacement/common/editorReplacer.contribution'; // tasks import 'sql/workbench/contrib/tasks/browser/tasks.contribution'; @@ -443,7 +443,7 @@ import 'sql/workbench/contrib/dashboard/browser/containers/dashboardModelViewCon import 'sql/workbench/contrib/dashboard/browser/core/dashboardTab.contribution'; // Model-based Views -import 'sql/workbench/browser/modelComponents/components.contribution'; +import 'sql/workbench/contrib/modelView/browser/components.contribution'; import 'sql/workbench/browser/modelComponents/modelViewEditor.contribution'; // notebooks diff --git a/src/vs/workbench/workbench.desktop.main.ts b/src/vs/workbench/workbench.desktop.main.ts index 223afae6a1..c7f871f7c2 100644 --- a/src/vs/workbench/workbench.desktop.main.ts +++ b/src/vs/workbench/workbench.desktop.main.ts @@ -19,7 +19,6 @@ import 'vs/workbench/workbench.common.main'; //#region --- workbench (desktop main) -import 'sql/setup'; // {{SQL CARBON EDIT}} import 'vs/workbench/electron-browser/desktop.contribution'; import 'vs/workbench/electron-browser/desktop.main';