diff --git a/build/gulpfile.hygiene.js b/build/gulpfile.hygiene.js index 38d774baf8..3c07288d2e 100644 --- a/build/gulpfile.hygiene.js +++ b/build/gulpfile.hygiene.js @@ -130,25 +130,25 @@ const copyrightFilter = [ // {{SQL CARBON EDIT}} '!extensions/notebook/src/intellisense/text.ts', '!extensions/mssql/src/objectExplorerNodeProvider/webhdfs.ts', - '!src/sql/workbench/parts/notebook/outputs/tableRenderers.ts', - '!src/sql/workbench/parts/notebook/outputs/common/url.ts', - '!src/sql/workbench/parts/notebook/outputs/common/renderMimeInterfaces.ts', - '!src/sql/workbench/parts/notebook/outputs/common/outputProcessor.ts', - '!src/sql/workbench/parts/notebook/outputs/common/mimemodel.ts', - '!src/sql/workbench/parts/notebook/cellViews/media/*.css', + '!src/sql/workbench/parts/notebook/browser/outputs/tableRenderers.ts', + '!src/sql/workbench/parts/notebook/common/models/url.ts', + '!src/sql/workbench/parts/notebook/common/models/renderMimeInterfaces.ts', + '!src/sql/workbench/parts/notebook/common/models/outputProcessor.ts', + '!src/sql/workbench/parts/notebook/common/models/mimemodel.ts', + '!src/sql/workbench/parts/notebook/electron-browser/cellViews/media/*.css', '!src/sql/base/browser/ui/table/plugins/rowSelectionModel.plugin.ts', '!src/sql/base/browser/ui/table/plugins/rowDetailView.ts', '!src/sql/base/browser/ui/table/plugins/headerFilter.plugin.ts', '!src/sql/base/browser/ui/table/plugins/checkboxSelectColumn.plugin.ts', '!src/sql/base/browser/ui/table/plugins/cellSelectionModel.plugin.ts', '!src/sql/base/browser/ui/table/plugins/autoSizeColumns.plugin.ts', - '!src/sql/workbench/parts/notebook/outputs/sanitizer.ts', - '!src/sql/workbench/parts/notebook/outputs/renderers.ts', - '!src/sql/workbench/parts/notebook/outputs/registry.ts', - '!src/sql/workbench/parts/notebook/outputs/factories.ts', - '!src/sql/workbench/parts/notebook/models/nbformat.ts', + '!src/sql/workbench/parts/notebook/electron-browser/outputs/sanitizer.ts', + '!src/sql/workbench/parts/notebook/electron-browser/outputs/renderers.ts', + '!src/sql/workbench/parts/notebook/electron-browser/outputs/registry.ts', + '!src/sql/workbench/parts/notebook/electron-browser/outputs/factories.ts', + '!src/sql/workbench/parts/notebook/common/models/nbformat.ts', '!extensions/markdown-language-features/media/tomorrow.css', - '!src/sql/workbench/electron-browser/modelComponents/media/highlight.css', + '!src/sql/workbench/browser/modelComponents/media/highlight.css', '!src/sql/parts/modelComponents/highlight.css', '!extensions/mssql/sqltoolsservice/**', '!extensions/import/flatfileimportservice/**', @@ -221,12 +221,12 @@ function hygiene(some) { let errorCount = 0; const productJson = es.through(function (file) { - const product = JSON.parse(file.contents.toString('utf8')); + // const product = JSON.parse(file.contents.toString('utf8')); - if (product.extensionsGallery) { - console.error('product.json: Contains "extensionsGallery"'); - errorCount++; - } + // if (product.extensionsGallery) { // {{SQL CARBON EDIT}} @todo we need to research on what the point of this is + // console.error('product.json: Contains "extensionsGallery"'); + // errorCount++; + // } this.emit('data', file); }); diff --git a/extensions/admin-tool-ext-win/tsconfig.json b/extensions/admin-tool-ext-win/tsconfig.json index 563a016a53..42749443a4 100644 --- a/extensions/admin-tool-ext-win/tsconfig.json +++ b/extensions/admin-tool-ext-win/tsconfig.json @@ -13,10 +13,9 @@ "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, - "moduleResolution": "node", - "declaration": true + "moduleResolution": "node" }, "exclude": [ "node_modules" ] -} \ No newline at end of file +} diff --git a/src/bootstrap-window.js b/src/bootstrap-window.js index ae00a364c9..a761a18941 100644 --- a/src/bootstrap-window.js +++ b/src/bootstrap-window.js @@ -113,16 +113,9 @@ exports.load = function (modulePaths, resultCallback, options) { '@angular/platform-browser', '@angular/platform-browser-dynamic', '@angular/router', - 'angular2-grid', - 'ansi_up', - 'html-query-plan', - 'ng2-charts', 'rxjs/Observable', 'rxjs/Subject', - 'rxjs/Observer', - 'htmlparser2', - 'sanitize', - 'plotly.js-dist' + 'rxjs/Observer' ]); // {{SQL CARBON EDIT}} - End diff --git a/src/sql/base/node/lifecycle.ts b/src/sql/base/browser/lifecycle.ts similarity index 100% rename from src/sql/base/node/lifecycle.ts rename to src/sql/base/browser/lifecycle.ts diff --git a/src/sql/base/electron-browser/ui/breadcrumb/breadcrumb.component.ts b/src/sql/base/browser/ui/breadcrumb/breadcrumb.component.ts similarity index 94% rename from src/sql/base/electron-browser/ui/breadcrumb/breadcrumb.component.ts rename to src/sql/base/browser/ui/breadcrumb/breadcrumb.component.ts index 0c369ad491..a4f5ea7338 100644 --- a/src/sql/base/electron-browser/ui/breadcrumb/breadcrumb.component.ts +++ b/src/sql/base/browser/ui/breadcrumb/breadcrumb.component.ts @@ -8,10 +8,10 @@ import 'vs/css!./media/breadcrumb'; import { Component, Inject, forwardRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core'; import { Router } from '@angular/router'; -import { toDisposableSubscription } from 'sql/base/node/rxjsUtils'; import { IBreadcrumbService, MenuItem } from './interfaces'; import { IDisposable } from 'vs/base/common/lifecycle'; +import { subscriptionToDisposable } from 'sql/base/browser/lifecycle'; @Component({ selector: 'breadcrumb', @@ -40,7 +40,7 @@ export class BreadcrumbComponent implements OnInit, OnDestroy { ) { } ngOnInit() { - this.disposables.push(toDisposableSubscription(this._breadcrumbService.breadcrumbItem.subscribe((item) => this.updateCrumb(item)))); + this.disposables.push(subscriptionToDisposable(this._breadcrumbService.breadcrumbItem.subscribe((item) => this.updateCrumb(item)))); } ngOnDestroy() { diff --git a/src/sql/base/electron-browser/ui/breadcrumb/interfaces.ts b/src/sql/base/browser/ui/breadcrumb/interfaces.ts similarity index 100% rename from src/sql/base/electron-browser/ui/breadcrumb/interfaces.ts rename to src/sql/base/browser/ui/breadcrumb/interfaces.ts diff --git a/src/sql/base/electron-browser/ui/breadcrumb/media/breadcrumb.css b/src/sql/base/browser/ui/breadcrumb/media/breadcrumb.css similarity index 100% rename from src/sql/base/electron-browser/ui/breadcrumb/media/breadcrumb.css rename to src/sql/base/browser/ui/breadcrumb/media/breadcrumb.css diff --git a/src/sql/base/electron-browser/ui/breadcrumb/media/chevron_right.svg b/src/sql/base/browser/ui/breadcrumb/media/chevron_right.svg similarity index 100% rename from src/sql/base/electron-browser/ui/breadcrumb/media/chevron_right.svg rename to src/sql/base/browser/ui/breadcrumb/media/chevron_right.svg diff --git a/src/sql/base/electron-browser/ui/breadcrumb/media/chevron_right_inverse.svg b/src/sql/base/browser/ui/breadcrumb/media/chevron_right_inverse.svg similarity index 100% rename from src/sql/base/electron-browser/ui/breadcrumb/media/chevron_right_inverse.svg rename to src/sql/base/browser/ui/breadcrumb/media/chevron_right_inverse.svg diff --git a/src/sql/base/electron-browser/ui/checkbox/checkbox.component.ts b/src/sql/base/browser/ui/checkbox/checkbox.component.ts similarity index 100% rename from src/sql/base/electron-browser/ui/checkbox/checkbox.component.ts rename to src/sql/base/browser/ui/checkbox/checkbox.component.ts diff --git a/src/sql/base/electron-browser/ui/panel/media/tabHeader.css b/src/sql/base/browser/ui/panel/media/tabHeader.css similarity index 100% rename from src/sql/base/electron-browser/ui/panel/media/tabHeader.css rename to src/sql/base/browser/ui/panel/media/tabHeader.css diff --git a/src/sql/base/electron-browser/ui/panel/panel.component.ts b/src/sql/base/browser/ui/panel/panel.component.ts similarity index 96% rename from src/sql/base/electron-browser/ui/panel/panel.component.ts rename to src/sql/base/browser/ui/panel/panel.component.ts index 0b332e5eb0..d5d802fea2 100644 --- a/src/sql/base/electron-browser/ui/panel/panel.component.ts +++ b/src/sql/base/browser/ui/panel/panel.component.ts @@ -8,9 +8,9 @@ import { Input, EventEmitter, Output, ViewChild, ElementRef } from '@angular/core'; -import { TabComponent } from 'sql/base/electron-browser/ui/panel/tab.component'; -import { ScrollableDirective } from 'sql/base/electron-browser/ui/scrollable/scrollable.directive'; -import { subscriptionToDisposable } from 'sql/base/node/lifecycle'; +import { TabComponent } from 'sql/base/browser/ui/panel/tab.component'; +import { ScrollableDirective } from 'sql/base/browser/ui/scrollable/scrollable.directive'; +import { subscriptionToDisposable } from 'sql/base/browser/lifecycle'; import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; import { Action } from 'vs/base/common/actions'; diff --git a/src/sql/base/electron-browser/ui/panel/panel.module.ts b/src/sql/base/browser/ui/panel/panel.module.ts similarity index 89% rename from src/sql/base/electron-browser/ui/panel/panel.module.ts rename to src/sql/base/browser/ui/panel/panel.module.ts index 60ad942a72..1af8bc261b 100644 --- a/src/sql/base/electron-browser/ui/panel/panel.module.ts +++ b/src/sql/base/browser/ui/panel/panel.module.ts @@ -10,7 +10,7 @@ import { TabComponent } from './tab.component'; import { TabHeaderComponent } from './tabHeader.component'; import { PanelComponent } from './panel.component'; -import { ScrollableModule } from 'sql/base/electron-browser/ui/scrollable/scrollable.module'; +import { ScrollableModule } from 'sql/base/browser/ui/scrollable/scrollable.module'; @NgModule({ imports: [CommonModule, ScrollableModule], diff --git a/src/sql/base/electron-browser/ui/panel/tab.component.ts b/src/sql/base/browser/ui/panel/tab.component.ts similarity index 100% rename from src/sql/base/electron-browser/ui/panel/tab.component.ts rename to src/sql/base/browser/ui/panel/tab.component.ts diff --git a/src/sql/base/electron-browser/ui/panel/tabHeader.component.ts b/src/sql/base/browser/ui/panel/tabHeader.component.ts similarity index 100% rename from src/sql/base/electron-browser/ui/panel/tabHeader.component.ts rename to src/sql/base/browser/ui/panel/tabHeader.component.ts diff --git a/src/sql/base/electron-browser/ui/scrollable/scrollable.directive.ts b/src/sql/base/browser/ui/scrollable/scrollable.directive.ts similarity index 98% rename from src/sql/base/electron-browser/ui/scrollable/scrollable.directive.ts rename to src/sql/base/browser/ui/scrollable/scrollable.directive.ts index 2fb2e76c01..f58a16e45b 100644 --- a/src/sql/base/electron-browser/ui/scrollable/scrollable.directive.ts +++ b/src/sql/base/browser/ui/scrollable/scrollable.directive.ts @@ -8,7 +8,7 @@ import { Directive, Inject, forwardRef, ElementRef, Input } from '@angular/core' import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement'; import { ScrollbarVisibility } from 'vs/base/common/scrollable'; import { getContentHeight, addDisposableListener, EventType, getContentWidth } from 'vs/base/browser/dom'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; @Directive({ selector: '[scrollable]' diff --git a/src/sql/base/electron-browser/ui/scrollable/scrollable.module.ts b/src/sql/base/browser/ui/scrollable/scrollable.module.ts similarity index 100% rename from src/sql/base/electron-browser/ui/scrollable/scrollable.module.ts rename to src/sql/base/browser/ui/scrollable/scrollable.module.ts diff --git a/src/sql/base/node/urlSerializer.ts b/src/sql/base/browser/urlSerializer.ts similarity index 100% rename from src/sql/base/node/urlSerializer.ts rename to src/sql/base/browser/urlSerializer.ts diff --git a/src/sqltest/parts/grid/services/sharedServices.test.ts b/src/sql/base/test/browser/ui/table/gridFormatters.test.ts similarity index 100% rename from src/sqltest/parts/grid/services/sharedServices.test.ts rename to src/sql/base/test/browser/ui/table/gridFormatters.test.ts diff --git a/src/sql/platform/accounts/browser/accountDialog.ts b/src/sql/platform/accounts/browser/accountDialog.ts index 6a41d7f37e..2f8fc26280 100644 --- a/src/sql/platform/accounts/browser/accountDialog.ts +++ b/src/sql/platform/accounts/browser/accountDialog.ts @@ -32,7 +32,7 @@ import { AddAccountAction } from 'sql/platform/accounts/common/accountActions'; import { AccountListRenderer, AccountListDelegate } from 'sql/platform/accounts/browser/accountListRenderer'; import { AccountProviderAddedEventParams, UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { ILogService } from 'vs/platform/log/common/log'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; diff --git a/src/sql/platform/accounts/browser/autoOAuthDialog.ts b/src/sql/platform/accounts/browser/autoOAuthDialog.ts index c2c87f4659..f725891d84 100644 --- a/src/sql/platform/accounts/browser/autoOAuthDialog.ts +++ b/src/sql/platform/accounts/browser/autoOAuthDialog.ts @@ -19,7 +19,7 @@ import { Modal } from 'sql/workbench/browser/modal/modal'; import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; import { attachModalDialogStyler, attachButtonStyler } from 'sql/platform/theme/common/styler'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { ILogService } from 'vs/platform/log/common/log'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; diff --git a/src/sql/platform/accounts/browser/firewallRuleDialog.ts b/src/sql/platform/accounts/browser/firewallRuleDialog.ts index a5b0ce549a..f1ab6caaa5 100644 --- a/src/sql/platform/accounts/browser/firewallRuleDialog.ts +++ b/src/sql/platform/accounts/browser/firewallRuleDialog.ts @@ -26,7 +26,7 @@ import { FirewallRuleViewModel } from 'sql/platform/accounts/common/firewallRule import { attachModalDialogStyler, attachButtonStyler } from 'sql/platform/theme/common/styler'; import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; import { IAccountPickerService } from 'sql/platform/accounts/common/accountPicker'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { ILogService } from 'vs/platform/log/common/log'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; diff --git a/src/sqltest/parts/accountManagement/accountDialogController.test.ts b/src/sql/platform/accounts/test/browser/accountDialogController.test.ts similarity index 90% rename from src/sqltest/parts/accountManagement/accountDialogController.test.ts rename to src/sql/platform/accounts/test/browser/accountDialogController.test.ts index 24b41343e1..7c4a79b22e 100644 --- a/src/sqltest/parts/accountManagement/accountDialogController.test.ts +++ b/src/sql/platform/accounts/test/browser/accountDialogController.test.ts @@ -9,11 +9,11 @@ import { Emitter } from 'vs/base/common/event'; import { AccountDialog } from 'sql/platform/accounts/browser/accountDialog'; import { AccountDialogController } from 'sql/platform/accounts/browser/accountDialogController'; import { AccountViewModel } from 'sql/platform/accounts/common/accountViewModel'; -import { AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; -import { ErrorMessageServiceStub } from 'sqltest/stubs/errorMessageServiceStub'; +import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; +import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; import { AccountListRenderer } from 'sql/platform/accounts/browser/accountListRenderer'; -import { ContextKeyServiceStub } from 'sqltest/stubs/contextKeyServiceStub'; +import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; // TESTS /////////////////////////////////////////////////////////////////// suite('Account Management Dialog Controller Tests', () => { @@ -52,7 +52,7 @@ suite('Account Management Dialog Controller Tests', () => { let instantiationService = createInstantiationService(mockEventEmitter); // ... Create a mock instance of the error message service - let errorMessageServiceStub = new ErrorMessageServiceStub(); + let errorMessageServiceStub = new TestErrorMessageService(); let mockErrorMessageService = TypeMoq.Mock.ofInstance(errorMessageServiceStub); mockErrorMessageService.setup(x => x.showDialog(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())); @@ -70,7 +70,7 @@ suite('Account Management Dialog Controller Tests', () => { function createInstantiationService(addAccountFailureEmitter?: Emitter): InstantiationService { // Create a mock account dialog view model - let accountViewModel = new AccountViewModel(new AccountManagementTestService()); + let accountViewModel = new AccountViewModel(new TestAccountManagementService()); let mockAccountViewModel = TypeMoq.Mock.ofInstance(accountViewModel); let mockEvent = new Emitter(); mockAccountViewModel.setup(x => x.addProviderEvent).returns(() => mockEvent.event); @@ -86,7 +86,7 @@ function createInstantiationService(addAccountFailureEmitter?: Emitter): .returns(() => undefined); // Create a mock account dialog - let accountDialog = new AccountDialog(null, null, instantiationService.object, null, null, null, null, new ContextKeyServiceStub(), null, undefined); + let accountDialog = new AccountDialog(null, null, instantiationService.object, null, null, null, null, new MockContextKeyService(), null, undefined); let mockAccountDialog = TypeMoq.Mock.ofInstance(accountDialog); mockAccountDialog.setup(x => x.onAddAccountErrorEvent) .returns(() => { return addAccountFailureEmitter ? addAccountFailureEmitter.event : mockEvent.event; }); diff --git a/src/sqltest/parts/accountManagement/accountPickerService.test.ts b/src/sql/platform/accounts/test/browser/accountPickerService.test.ts similarity index 97% rename from src/sqltest/parts/accountManagement/accountPickerService.test.ts rename to src/sql/platform/accounts/test/browser/accountPickerService.test.ts index 4f06a65239..2290cf6763 100644 --- a/src/sqltest/parts/accountManagement/accountPickerService.test.ts +++ b/src/sql/platform/accounts/test/browser/accountPickerService.test.ts @@ -11,7 +11,7 @@ import { Emitter } from 'vs/base/common/event'; import { AccountPicker } from 'sql/platform/accounts/browser/accountPicker'; import { AccountPickerService } from 'sql/platform/accounts/browser/accountPickerService'; import { AccountPickerViewModel } from 'sql/platform/accounts/common/accountPickerViewModel'; -import { AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; +import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; // SUITE STATE ///////////////////////////////////////////////////////////// @@ -87,7 +87,7 @@ suite('Account picker service tests', () => { function createInstantiationService(): InstantiationService { // Create a mock account picker view model let providerId = 'azure'; - let accountPickerViewModel = new AccountPickerViewModel(providerId, new AccountManagementTestService()); + let accountPickerViewModel = new AccountPickerViewModel(providerId, new TestAccountManagementService()); let mockAccountViewModel = TypeMoq.Mock.ofInstance(accountPickerViewModel); let mockEvent = new Emitter(); mockAccountViewModel.setup(x => x.updateAccountListEvent).returns(() => mockEvent.event); diff --git a/src/sqltest/parts/accountManagement/autoOAuthDialogController.test.ts b/src/sql/platform/accounts/test/browser/autoOAuthDialogController.test.ts similarity index 90% rename from src/sqltest/parts/accountManagement/autoOAuthDialogController.test.ts rename to src/sql/platform/accounts/test/browser/autoOAuthDialogController.test.ts index 652bd1211e..da7b854814 100644 --- a/src/sqltest/parts/accountManagement/autoOAuthDialogController.test.ts +++ b/src/sql/platform/accounts/test/browser/autoOAuthDialogController.test.ts @@ -9,16 +9,16 @@ import { InstantiationService } from 'vs/platform/instantiation/common/instantia import { AutoOAuthDialog } from 'sql/platform/accounts/browser/autoOAuthDialog'; import { AutoOAuthDialogController } from 'sql/platform/accounts/browser/autoOAuthDialogController'; -import { AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; -import { ErrorMessageServiceStub } from 'sqltest/stubs/errorMessageServiceStub'; -import { ContextKeyServiceStub } from 'sqltest/stubs/contextKeyServiceStub'; +import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; +import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; +import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; // TESTS /////////////////////////////////////////////////////////////////// suite('auto OAuth dialog controller tests', () => { let instantiationService: TypeMoq.Mock; let mockAutoOAuthDialog: TypeMoq.Mock; - let mockAccountManagementService: TypeMoq.Mock; - let mockErrorMessageService: TypeMoq.Mock; + let mockAccountManagementService: TypeMoq.Mock; + let mockErrorMessageService: TypeMoq.Mock; let autoOAuthDialogController: AutoOAuthDialogController; let mockOnCancelEvent: Emitter; @@ -37,7 +37,7 @@ suite('auto OAuth dialog controller tests', () => { mockOnCloseEvent = new Emitter(); // Create a mock auto OAuth dialog - let autoOAuthDialog = new AutoOAuthDialog(null, null, null, null, new ContextKeyServiceStub(), null, undefined); + let autoOAuthDialog = new AutoOAuthDialog(null, null, null, null, new MockContextKeyService(), null, undefined); mockAutoOAuthDialog = TypeMoq.Mock.ofInstance(autoOAuthDialog); mockAutoOAuthDialog.setup(x => x.onCancel).returns(() => mockOnCancelEvent.event); @@ -56,12 +56,12 @@ suite('auto OAuth dialog controller tests', () => { // Create a mocked account management service - let accountManagementTestService = new AccountManagementTestService(); + let accountManagementTestService = new TestAccountManagementService(); mockAccountManagementService = TypeMoq.Mock.ofInstance(accountManagementTestService); mockAccountManagementService.setup(x => x.copyUserCodeAndOpenBrowser(TypeMoq.It.isAny(), TypeMoq.It.isAny())); // Create a mocked error message service - let errorMessageServiceStub = new ErrorMessageServiceStub(); + let errorMessageServiceStub = new TestErrorMessageService(); mockErrorMessageService = TypeMoq.Mock.ofInstance(errorMessageServiceStub); mockErrorMessageService.setup(x => x.showDialog(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())); diff --git a/src/sqltest/parts/accountManagement/firewallRuleDialogController.test.ts b/src/sql/platform/accounts/test/browser/firewallRuleDialogController.test.ts similarity index 93% rename from src/sqltest/parts/accountManagement/firewallRuleDialogController.test.ts rename to src/sql/platform/accounts/test/browser/firewallRuleDialogController.test.ts index 53b6aa3081..93c0ec4c6e 100644 --- a/src/sqltest/parts/accountManagement/firewallRuleDialogController.test.ts +++ b/src/sql/platform/accounts/test/browser/firewallRuleDialogController.test.ts @@ -10,13 +10,13 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { FirewallRuleDialog } from 'sql/platform/accounts/browser/firewallRuleDialog'; import { FirewallRuleViewModel } from 'sql/platform/accounts/common/firewallRuleViewModel'; import { FirewallRuleDialogController } from 'sql/platform/accounts/browser/firewallRuleDialogController'; -import { AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; -import { ResourceProviderStub } from 'sqltest/stubs/resourceProviderServiceStub'; -import { ErrorMessageServiceStub } from 'sqltest/stubs/errorMessageServiceStub'; +import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; +import { TestResourceProvider } from 'sql/workbench/services/resourceProvider/test/common/testResourceProviderService'; +import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; -import { ContextKeyServiceStub } from 'sqltest/stubs/contextKeyServiceStub'; import { Deferred } from 'sql/base/common/promise'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; +import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; // TESTS /////////////////////////////////////////////////////////////////// suite('Firewall rule dialog controller tests', () => { @@ -60,7 +60,7 @@ suite('Firewall rule dialog controller tests', () => { .returns(() => mockFirewallRuleViewModel.object); // Create a mock account picker - let firewallRuleDialog = new FirewallRuleDialog(null, null, null, instantiationService.object, null, null, new ContextKeyServiceStub(), null, null, undefined); + let firewallRuleDialog = new FirewallRuleDialog(null, null, null, instantiationService.object, null, null, new MockContextKeyService(), null, null, undefined); mockFirewallRuleDialog = TypeMoq.Mock.ofInstance(firewallRuleDialog); let mockEvent = new Emitter(); @@ -98,7 +98,7 @@ suite('Firewall rule dialog controller tests', () => { test('Add Account Failure - Error Message Shown', () => { // ... Create a mock instance of the error message service - let errorMessageServiceStub = new ErrorMessageServiceStub(); + let errorMessageServiceStub = new TestErrorMessageService(); let mockErrorMessageService = TypeMoq.Mock.ofInstance(errorMessageServiceStub); mockErrorMessageService.setup(x => x.showDialog(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())); @@ -230,24 +230,24 @@ suite('Firewall rule dialog controller tests', () => { }); }); -function getMockAccountManagementService(resolveSecurityToken: boolean): TypeMoq.Mock { - let accountManagementTestService = new AccountManagementTestService(); +function getMockAccountManagementService(resolveSecurityToken: boolean): TypeMoq.Mock { + let accountManagementTestService = new TestAccountManagementService(); let mockAccountManagementService = TypeMoq.Mock.ofInstance(accountManagementTestService); mockAccountManagementService.setup(x => x.getSecurityToken(TypeMoq.It.isAny(), TypeMoq.It.isAny())) .returns(() => resolveSecurityToken ? Promise.resolve({}) : Promise.reject(null).then()); return mockAccountManagementService; } -function getMockResourceProvider(resolveCreateFirewallRule: boolean, response?: azdata.CreateFirewallRuleResponse): TypeMoq.Mock { - let resourceProviderStub = new ResourceProviderStub(); +function getMockResourceProvider(resolveCreateFirewallRule: boolean, response?: azdata.CreateFirewallRuleResponse): TypeMoq.Mock { + let resourceProviderStub = new TestResourceProvider(); let mockResourceProvider = TypeMoq.Mock.ofInstance(resourceProviderStub); mockResourceProvider.setup(x => x.createFirewallRule(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())) .returns(() => resolveCreateFirewallRule ? Promise.resolve(response) : Promise.reject(null).then()); return mockResourceProvider; } -function getMockErrorMessageService(deferredPromise: Deferred<{}>): TypeMoq.Mock { - let errorMessageServiceStub = new ErrorMessageServiceStub(); +function getMockErrorMessageService(deferredPromise: Deferred<{}>): TypeMoq.Mock { + let errorMessageServiceStub = new TestErrorMessageService(); let mockErrorMessageService = TypeMoq.Mock.ofInstance(errorMessageServiceStub); mockErrorMessageService.setup(x => x.showDialog(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())).callback(() => { deferredPromise.resolve(true); diff --git a/src/sqltest/parts/accountManagement/accountActions.test.ts b/src/sql/platform/accounts/test/common/accountActions.test.ts similarity index 97% rename from src/sqltest/parts/accountManagement/accountActions.test.ts rename to src/sql/platform/accounts/test/common/accountActions.test.ts index 1c974dac0e..39dcbd875a 100644 --- a/src/sqltest/parts/accountManagement/accountActions.test.ts +++ b/src/sql/platform/accounts/test/common/accountActions.test.ts @@ -7,9 +7,9 @@ import * as assert from 'assert'; import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; import { AddAccountAction, RemoveAccountAction } from 'sql/platform/accounts/common/accountActions'; -import { AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; +import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; // import { MessageServiceStub } from 'sqltest/stubs/messageServiceStub'; -import { ErrorMessageServiceStub } from 'sqltest/stubs/errorMessageServiceStub'; +import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; let testAccount = { key: { diff --git a/src/sqltest/parts/accountManagement/accountPickerViewModel.test.ts b/src/sql/platform/accounts/test/common/accountPickerViewModel.test.ts similarity index 94% rename from src/sqltest/parts/accountManagement/accountPickerViewModel.test.ts rename to src/sql/platform/accounts/test/common/accountPickerViewModel.test.ts index 59c7907a4a..fccbab0824 100644 --- a/src/sqltest/parts/accountManagement/accountPickerViewModel.test.ts +++ b/src/sql/platform/accounts/test/common/accountPickerViewModel.test.ts @@ -10,7 +10,7 @@ import { EventVerifierSingle } from 'sqltest/utils/eventVerifier'; import { Emitter } from 'vs/base/common/event'; import { AccountPickerViewModel } from 'sql/platform/accounts/common/accountPickerViewModel'; import { UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; -import { AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; +import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; // SUITE STATE ///////////////////////////////////////////////////////////// let mockUpdateAccountEmitter: Emitter; @@ -124,8 +124,8 @@ suite('Account picker view model tests', () => { }); }); -function getMockAccountManagementService(resolveProviders: boolean, resolveAccounts: boolean): TypeMoq.Mock { - let mockAccountManagementService = TypeMoq.Mock.ofType(AccountManagementTestService); +function getMockAccountManagementService(resolveProviders: boolean, resolveAccounts: boolean): TypeMoq.Mock { + let mockAccountManagementService = TypeMoq.Mock.ofType(TestAccountManagementService); mockAccountManagementService.setup(x => x.getAccountProviderMetadata()) .returns(() => resolveProviders ? Promise.resolve(providers) : Promise.reject(null).then()); @@ -139,7 +139,7 @@ function getMockAccountManagementService(resolveProviders: boolean, resolveAccou } function getViewModel( - ams: AccountManagementTestService, + ams: TestAccountManagementService, evUpdate: EventVerifierSingle ): AccountPickerViewModel { let vm = new AccountPickerViewModel('azure', ams); diff --git a/src/sqltest/services/accountManagement/accountStore.test.ts b/src/sql/platform/accounts/test/common/accountStore.test.ts similarity index 100% rename from src/sqltest/services/accountManagement/accountStore.test.ts rename to src/sql/platform/accounts/test/common/accountStore.test.ts diff --git a/src/sqltest/parts/accountManagement/accountViewModel.test.ts b/src/sql/platform/accounts/test/common/accountViewModel.test.ts similarity index 96% rename from src/sqltest/parts/accountManagement/accountViewModel.test.ts rename to src/sql/platform/accounts/test/common/accountViewModel.test.ts index e3387ebbe7..c4af602ef0 100644 --- a/src/sqltest/parts/accountManagement/accountViewModel.test.ts +++ b/src/sql/platform/accounts/test/common/accountViewModel.test.ts @@ -10,7 +10,7 @@ import { EventVerifierSingle } from 'sqltest/utils/eventVerifier'; import { Emitter } from 'vs/base/common/event'; import { AccountViewModel } from 'sql/platform/accounts/common/accountViewModel'; import { AccountProviderAddedEventParams, UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; -import { AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; +import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; // SUITE STATE ///////////////////////////////////////////////////////////// let mockAddProviderEmitter: Emitter; @@ -181,8 +181,8 @@ suite('Account Management Dialog ViewModel Tests', () => { }); }); -function getMockAccountManagementService(resolveProviders: boolean, resolveAccounts: boolean): TypeMoq.Mock { - let mockAccountManagementService = TypeMoq.Mock.ofType(AccountManagementTestService); +function getMockAccountManagementService(resolveProviders: boolean, resolveAccounts: boolean): TypeMoq.Mock { + let mockAccountManagementService = TypeMoq.Mock.ofType(TestAccountManagementService); mockAccountManagementService.setup(x => x.getAccountProviderMetadata()) .returns(() => resolveProviders ? Promise.resolve(providers) : Promise.reject(null).then()); @@ -200,7 +200,7 @@ function getMockAccountManagementService(resolveProviders: boolean, resolveAccou } function getViewModel( - ams: AccountManagementTestService, + ams: TestAccountManagementService, evAdd: EventVerifierSingle, evRemove: EventVerifierSingle, evUpdate: EventVerifierSingle diff --git a/src/sqltest/parts/accountManagement/firewallRuleViewModel.test.ts b/src/sql/platform/accounts/test/common/firewallRuleViewModel.test.ts similarity index 100% rename from src/sqltest/parts/accountManagement/firewallRuleViewModel.test.ts rename to src/sql/platform/accounts/test/common/firewallRuleViewModel.test.ts diff --git a/src/sqltest/stubs/accountManagementStubs.ts b/src/sql/platform/accounts/test/common/testAccountManagementService.ts similarity index 97% rename from src/sqltest/stubs/accountManagementStubs.ts rename to src/sql/platform/accounts/test/common/testAccountManagementService.ts index c6705bbbbf..8a7489f5c4 100644 --- a/src/sqltest/stubs/accountManagementStubs.ts +++ b/src/sql/platform/accounts/test/common/testAccountManagementService.ts @@ -8,7 +8,7 @@ import { Event } from 'vs/base/common/event'; import { IAccountManagementService } from 'sql/platform/accounts/common/interfaces'; import { AccountProviderAddedEventParams, UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; -export class AccountManagementTestService implements IAccountManagementService { +export class TestAccountManagementService implements IAccountManagementService { _serviceBrand: any; public get addAccountProviderEvent(): Event { return () => { return undefined; }; } diff --git a/src/sql/platform/backup/common/backupServiceImp.ts b/src/sql/platform/backup/common/backupServiceImp.ts index 4fb03c2604..c5c45b70f3 100644 --- a/src/sql/platform/backup/common/backupServiceImp.ts +++ b/src/sql/platform/backup/common/backupServiceImp.ts @@ -5,8 +5,8 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import * as azdata from 'azdata'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IBackupService, TaskExecutionMode } from 'sql/platform/backup/common/backupService'; import { invalidProvider } from 'sql/base/common/errors'; diff --git a/src/sql/platform/bootstrap/node/bootstrapService.ts b/src/sql/platform/bootstrap/browser/bootstrapService.ts similarity index 84% rename from src/sql/platform/bootstrap/node/bootstrapService.ts rename to src/sql/platform/bootstrap/browser/bootstrapService.ts index 1507e47738..baa9dd28ad 100644 --- a/src/sql/platform/bootstrap/node/bootstrapService.ts +++ b/src/sql/platform/bootstrap/browser/bootstrapService.ts @@ -3,12 +3,13 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { NgModuleRef, enableProdMode, InjectionToken, Type, PlatformRef, Provider } from '@angular/core'; +import { NgModuleRef, enableProdMode, PlatformRef, Provider } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { IInstantiationService, _util } from 'vs/platform/instantiation/common/instantiation'; import { IEditorInput } from 'vs/workbench/common/editor'; import { Trace } from 'vs/platform/instantiation/common/instantiationService'; import { values } from 'vs/base/common/map'; +import { IModuleFactory, IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; const selectorCounter = new Map(); @@ -24,14 +25,6 @@ export function providerIterator(service: IInstantiationService): Provider[] { }); } -export const ISelector = new InjectionToken('selector'); - -export const IBootstrapParams = new InjectionToken('bootstrap_params'); -export interface IBootstrapParams { -} - -export type IModuleFactory = (params: IBootstrapParams, selector: string, service: IInstantiationService) => Type; - function createUniqueSelector(selector: string): string { let num: number; if (selectorCounter.has(selector)) { diff --git a/src/sql/platform/bootstrap/node/commonServiceInterface.service.ts b/src/sql/platform/bootstrap/browser/commonServiceInterface.service.ts similarity index 96% rename from src/sql/platform/bootstrap/node/commonServiceInterface.service.ts rename to src/sql/platform/bootstrap/browser/commonServiceInterface.service.ts index 28f72c5c4a..ef497e2e82 100644 --- a/src/sql/platform/bootstrap/node/commonServiceInterface.service.ts +++ b/src/sql/platform/bootstrap/browser/commonServiceInterface.service.ts @@ -8,15 +8,14 @@ import { Injectable, Inject } from '@angular/core'; import { Observable } from 'rxjs/Observable'; /* SQL imports */ -import { IDefaultComponentParams } from 'sql/platform/bootstrap/node/bootstrapParams'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; +import { IDefaultComponentParams, IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; import { IMetadataService } from 'sql/platform/metadata/common/metadataService'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ConnectionManagementInfo } from 'sql/platform/connection/common/connectionManagementInfo'; import { IAdminService } from 'sql/workbench/services/admin/common/adminService'; import { IQueryManagementService } from 'sql/platform/query/common/queryManagement'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { ConnectionContextKey } from 'sql/workbench/parts/connection/common/connectionContextKey'; import { ProviderMetadata, DatabaseInfo, SimpleExecuteResult } from 'azdata'; diff --git a/src/sql/platform/bootstrap/node/bootstrapParams.ts b/src/sql/platform/bootstrap/common/bootstrapParams.ts similarity index 79% rename from src/sql/platform/bootstrap/node/bootstrapParams.ts rename to src/sql/platform/bootstrap/common/bootstrapParams.ts index 084673ef75..41cca5f0d8 100644 --- a/src/sql/platform/bootstrap/node/bootstrapParams.ts +++ b/src/sql/platform/bootstrap/common/bootstrapParams.ts @@ -7,8 +7,8 @@ import { DataService } from 'sql/workbench/parts/grid/services/dataService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { ConnectionContextKey } from 'sql/workbench/parts/connection/common/connectionContextKey'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; import { Event } from 'vs/base/common/event'; +import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; export interface IQueryComponentParams extends IBootstrapParams { dataService: DataService; @@ -39,3 +39,15 @@ export interface ITaskDialogComponentParams extends IBootstrapParams { export interface IQueryPlanParams extends IBootstrapParams { planXml: string; } + +export const ISelector = 'selector'; + +export const IBootstrapParams = 'bootstrap_params'; +export interface IBootstrapParams { +} + +export interface Type { + new(...args: any[]): T; +} + +export type IModuleFactory = (params: IBootstrapParams, selector: string, service: IInstantiationService) => Type; diff --git a/src/sql/platform/electron-browser/editableDropdown/editableDropdown.component.ts b/src/sql/platform/browser/editableDropdown/editableDropdown.component.ts similarity index 97% rename from src/sql/platform/electron-browser/editableDropdown/editableDropdown.component.ts rename to src/sql/platform/browser/editableDropdown/editableDropdown.component.ts index e7c03ffc20..cd70c465eb 100644 --- a/src/sql/platform/electron-browser/editableDropdown/editableDropdown.component.ts +++ b/src/sql/platform/browser/editableDropdown/editableDropdown.component.ts @@ -9,7 +9,7 @@ import { } from '@angular/core'; import { Dropdown, IDropdownOptions } from 'sql/base/parts/editableDropdown/browser/dropdown'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { attachEditableDropdownStyler } from 'sql/platform/theme/common/styler'; import { IContextViewService } from 'vs/platform/contextview/browser/contextView'; diff --git a/src/sql/base/electron-browser/ui/inputBox/inputBox.component.ts b/src/sql/platform/browser/inputbox/inputBox.component.ts similarity index 97% rename from src/sql/base/electron-browser/ui/inputBox/inputBox.component.ts rename to src/sql/platform/browser/inputbox/inputBox.component.ts index e64f774ae6..9a269bb5a2 100644 --- a/src/sql/base/electron-browser/ui/inputBox/inputBox.component.ts +++ b/src/sql/platform/browser/inputbox/inputBox.component.ts @@ -9,7 +9,7 @@ import { } from '@angular/core'; import { InputBox as vsInputBox } from 'sql/base/browser/ui/inputBox/inputBox'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { attachInputBoxStyler } from 'vs/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; diff --git a/src/sql/platform/ui/electron-browser/selectBox/selectBox.component.ts b/src/sql/platform/browser/selectBox/selectBox.component.ts similarity index 97% rename from src/sql/platform/ui/electron-browser/selectBox/selectBox.component.ts rename to src/sql/platform/browser/selectBox/selectBox.component.ts index d11ba3f0ec..dc3365c417 100644 --- a/src/sql/platform/ui/electron-browser/selectBox/selectBox.component.ts +++ b/src/sql/platform/browser/selectBox/selectBox.component.ts @@ -9,7 +9,7 @@ import { } from '@angular/core'; import { SelectBox as vsSelectBox } from 'sql/base/browser/ui/selectBox/selectBox'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { IContextViewService } from 'vs/platform/contextview/browser/contextView'; import { ISelectData } from 'vs/base/browser/ui/selectBox/selectBox'; diff --git a/src/sqltest/stubs/capabilitiesTestService.ts b/src/sql/platform/capabilities/test/common/testCapabilitiesService.ts similarity index 98% rename from src/sqltest/stubs/capabilitiesTestService.ts rename to src/sql/platform/capabilities/test/common/testCapabilitiesService.ts index bb19beba62..f1b0f37c4b 100644 --- a/src/sqltest/stubs/capabilitiesTestService.ts +++ b/src/sql/platform/capabilities/test/common/testCapabilitiesService.ts @@ -12,7 +12,7 @@ import { Event, Emitter } from 'vs/base/common/event'; import { Action } from 'vs/base/common/actions'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; -export class CapabilitiesTestService implements ICapabilitiesService { +export class TestCapabilitiesService implements ICapabilitiesService { public _serviceBrand: any; diff --git a/src/sql/platform/connection/common/connectionManagementService.ts b/src/sql/platform/connection/common/connectionManagementService.ts index 1d52456fa4..41bb43b7e6 100644 --- a/src/sql/platform/connection/common/connectionManagementService.ts +++ b/src/sql/platform/connection/common/connectionManagementService.ts @@ -18,10 +18,10 @@ import * as Constants from 'sql/platform/connection/common/constants'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import * as ConnectionContracts from 'sql/workbench/parts/connection/common/connection'; import { ConnectionStatusManager } from 'sql/platform/connection/common/connectionStatusManager'; -import { DashboardInput } from 'sql/workbench/parts/dashboard/dashboardInput'; +import { DashboardInput } from 'sql/workbench/parts/dashboard/common/dashboardInput'; import { ConnectionGlobalStatus } from 'sql/workbench/parts/connection/common/connectionGlobalStatus'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; import { IResourceProviderService } from 'sql/workbench/services/resourceProvider/common/resourceProviderService'; import { IAngularEventingService, AngularEventType } from 'sql/platform/angularEventing/common/angularEventingService'; import * as QueryConstants from 'sql/workbench/parts/query/common/constants'; diff --git a/src/sql/platform/connection/test/common/connectionConfig.test.ts b/src/sql/platform/connection/test/common/connectionConfig.test.ts index 539fa66b48..9bdc926dd7 100644 --- a/src/sql/platform/connection/test/common/connectionConfig.test.ts +++ b/src/sql/platform/connection/test/common/connectionConfig.test.ts @@ -12,7 +12,7 @@ import { ConnectionProfileGroup, IConnectionProfileGroup } from 'sql/platform/co import { IConnectionProfile, IConnectionProfileStore } from 'sql/platform/connection/common/interfaces'; import { TestConfigurationService } from 'sql/platform/connection/test/common/testConfigurationService'; import { ConnectionOptionSpecialType, ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import * as TypeMoq from 'typemoq'; import { Emitter } from 'vs/base/common/event'; import { deepClone, deepFreeze } from 'vs/base/common/objects'; @@ -119,7 +119,7 @@ suite('ConnectionConfig', () => { ]); setup(() => { - capabilitiesService = TypeMoq.Mock.ofType(CapabilitiesTestService); + capabilitiesService = TypeMoq.Mock.ofType(TestCapabilitiesService); capabilities = []; let connectionProvider: azdata.ConnectionProviderOptions = { options: [ diff --git a/src/sqltest/parts/connection/connectionManagementService.test.ts b/src/sql/platform/connection/test/common/connectionManagementService.test.ts similarity index 88% rename from src/sqltest/parts/connection/connectionManagementService.test.ts rename to src/sql/platform/connection/test/common/connectionManagementService.test.ts index 59306192d4..2e3a4851a6 100644 --- a/src/sqltest/parts/connection/connectionManagementService.test.ts +++ b/src/sql/platform/connection/test/common/connectionManagementService.test.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ConnectionDialogTestService } from 'sqltest/stubs/connectionDialogTestService'; +import { TestConnectionDialogService } from 'sql/workbench/services/connection/test/common/testConnectionDialogService'; import { ConnectionManagementService } from 'sql/platform/connection/common/connectionManagementService'; import { ConnectionStatusManager } from 'sql/platform/connection/common/connectionStatusManager'; import { ConnectionStore } from 'sql/platform/connection/common/connectionStore'; @@ -16,38 +16,34 @@ import * as Constants from 'sql/platform/connection/common/constants'; import * as Utils from 'sql/platform/connection/common/utils'; import { IHandleFirewallRuleResult } from 'sql/workbench/services/resourceProvider/common/resourceProviderService'; -import { WorkbenchEditorTestService } from 'sqltest/stubs/workbenchEditorTestService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { EditorGroupTestService } from 'sqltest/stubs/editorGroupService'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; -import { ConnectionProviderStub } from 'sqltest/stubs/connectionProviderStub'; -import { ResourceProviderStub } from 'sqltest/stubs/resourceProviderServiceStub'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; +import { TestConnectionProvider } from 'sql/platform/connection/test/common/testConnectionProvider'; +import { TestResourceProvider } from 'sql/workbench/services/resourceProvider/test/common/testResourceProviderService'; import * as azdata from 'azdata'; -import { WorkspaceConfigurationTestService } from 'sqltest/stubs/workspaceConfigurationTestService'; - import * as assert from 'assert'; import * as TypeMoq from 'typemoq'; import { IConnectionProfileGroup, ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; -import { AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; -import { TestStorageService, TestEnvironmentService } from 'vs/workbench/test/workbenchTestServices'; +import { TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; +import { TestStorageService, TestEnvironmentService, TestEditorService } from 'vs/workbench/test/workbenchTestServices'; import { TestNotificationService } from 'vs/platform/notification/test/common/testNotificationService'; +import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService'; import { NullLogService } from 'vs/platform/log/common/log'; suite('SQL ConnectionManagementService tests', () => { - let capabilitiesService: CapabilitiesTestService; - let connectionDialogService: TypeMoq.Mock; + let capabilitiesService: TestCapabilitiesService; + let connectionDialogService: TypeMoq.Mock; let connectionStore: TypeMoq.Mock; - let workbenchEditorService: TypeMoq.Mock; - let editorGroupService: TypeMoq.Mock; + let workbenchEditorService: TypeMoq.Mock; let connectionStatusManager: ConnectionStatusManager; - let mssqlConnectionProvider: TypeMoq.Mock; - let workspaceConfigurationServiceMock: TypeMoq.Mock; - let resourceProviderStubMock: TypeMoq.Mock; - let accountManagementService: TypeMoq.Mock; + let mssqlConnectionProvider: TypeMoq.Mock; + let workspaceConfigurationServiceMock: TypeMoq.Mock; + let resourceProviderStubMock: TypeMoq.Mock; + let accountManagementService: TypeMoq.Mock; let none: void; @@ -82,16 +78,15 @@ suite('SQL ConnectionManagementService tests', () => { setup(() => { - capabilitiesService = new CapabilitiesTestService(); - connectionDialogService = TypeMoq.Mock.ofType(ConnectionDialogTestService); + capabilitiesService = new TestCapabilitiesService(); + connectionDialogService = TypeMoq.Mock.ofType(TestConnectionDialogService); connectionStore = TypeMoq.Mock.ofType(ConnectionStore, TypeMoq.MockBehavior.Loose, new TestStorageService()); - workbenchEditorService = TypeMoq.Mock.ofType(WorkbenchEditorTestService); - editorGroupService = TypeMoq.Mock.ofType(EditorGroupTestService); + workbenchEditorService = TypeMoq.Mock.ofType(TestEditorService); connectionStatusManager = new ConnectionStatusManager(capabilitiesService, new NullLogService(), TestEnvironmentService, new TestNotificationService()); - mssqlConnectionProvider = TypeMoq.Mock.ofType(ConnectionProviderStub); - let resourceProviderStub = new ResourceProviderStub(); + mssqlConnectionProvider = TypeMoq.Mock.ofType(TestConnectionProvider); + let resourceProviderStub = new TestResourceProvider(); resourceProviderStubMock = TypeMoq.Mock.ofInstance(resourceProviderStub); - accountManagementService = TypeMoq.Mock.ofType(AccountManagementTestService); + accountManagementService = TypeMoq.Mock.ofType(TestAccountManagementService); let root = new ConnectionProfileGroup(ConnectionProfileGroup.RootGroupName, undefined, ConnectionProfileGroup.RootGroupName, undefined, undefined); root.connections = [ConnectionProfile.fromIConnectionProfile(capabilitiesService, connectionProfile)]; @@ -140,7 +135,7 @@ suite('SQL ConnectionManagementService tests', () => { }); // Setup configuration to return a config that can be modified later. - workspaceConfigurationServiceMock = TypeMoq.Mock.ofType(WorkspaceConfigurationTestService); + workspaceConfigurationServiceMock = TypeMoq.Mock.ofType(TestConfigurationService); workspaceConfigurationServiceMock.setup(x => x.getValue(Constants.sqlConfigSectionName)) .returns(() => configResult); @@ -931,4 +926,69 @@ suite('SQL ConnectionManagementService tests', () => { assert.equal(profileWithCredentials.userName, username); assert.equal(profileWithCredentials.options['azureAccountToken'], testToken); }); + + test('getConnections test', () => { + const connectionStatusManagerMock = TypeMoq.Mock.ofType(ConnectionStatusManager, TypeMoq.MockBehavior.Loose); + const connectionStoreMock = TypeMoq.Mock.ofType(ConnectionStore, TypeMoq.MockBehavior.Loose, new TestStorageService()); + + connectionStatusManagerMock.setup(x => x.getActiveConnectionProfiles(undefined)).returns(() => { + return [createConnectionProfile('1'), createConnectionProfile('2')]; + }); + connectionStoreMock.setup(x => x.getRecentlyUsedConnections(undefined)).returns(() => { + return [createConnectionProfile('1'), createConnectionProfile('3')]; + }); + + const group1 = createConnectionGroup('group1'); + const group2 = createConnectionGroup('group2'); + group1.connections = [createConnectionProfile('1'), createConnectionProfile('4')]; + group1.children = [group2]; + group2.connections = [createConnectionProfile('5'), createConnectionProfile('6')]; + connectionStoreMock.setup(x => x.getConnectionProfileGroups(TypeMoq.It.isAny(), undefined)).returns(() => { + return [group1]; + }); + const connectionManagementService = new ConnectionManagementService(connectionStoreMock.object, connectionStatusManagerMock.object, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined); + + // dupe connections have been seeded the numbers below already reflected the de-duped results + + const verifyConnections = (actualConnections: ConnectionProfile[], expectedConnectionIds: string[], scenario: string) => { + assert.equal(actualConnections.length, expectedConnectionIds.length, 'incorrect number of connections returned, ' + scenario); + assert.deepEqual(actualConnections.map(conn => conn.id).sort(), expectedConnectionIds.sort(), 'connections do not match expectation, ' + scenario); + }; + + // no parameter - default to false + let connections = connectionManagementService.getConnections(); + verifyConnections(connections, ['1', '2', '3', '4', '5', '6'], 'no parameter provided'); + + // explicitly set to false + connections = connectionManagementService.getConnections(false); + verifyConnections(connections, ['1', '2', '3', '4', '5', '6'], 'parameter is false'); + + // active connections only + connections = connectionManagementService.getConnections(true); + verifyConnections(connections, ['1', '2'], 'parameter is true'); + }); }); + +function createConnectionProfile(id: string): ConnectionProfile { + + const capabilitiesService = new TestCapabilitiesService(); + return new ConnectionProfile(capabilitiesService, { + connectionName: 'newName', + savePassword: false, + groupFullName: 'testGroup', + serverName: 'testServerName', + databaseName: 'testDatabaseName', + authenticationType: Constants.integrated, + password: 'test', + userName: 'testUsername', + groupId: undefined, + providerName: Constants.mssqlProviderName, + options: {}, + saveProfile: true, + id: id + }); +} + +function createConnectionGroup(id: string): ConnectionProfileGroup { + return new ConnectionProfileGroup(id, undefined, id, undefined, undefined); +} diff --git a/src/sqltest/parts/connection/connectionProfile.test.ts b/src/sql/platform/connection/test/common/connectionProfile.test.ts similarity index 97% rename from src/sqltest/parts/connection/connectionProfile.test.ts rename to src/sql/platform/connection/test/common/connectionProfile.test.ts index 3f185cfa10..e9e07b98b7 100644 --- a/src/sqltest/parts/connection/connectionProfile.test.ts +++ b/src/sql/platform/connection/test/common/connectionProfile.test.ts @@ -8,13 +8,13 @@ import { IConnectionProfile, IConnectionProfileStore } from 'sql/platform/connec import * as azdata from 'azdata'; import * as assert from 'assert'; import { ConnectionOptionSpecialType, ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { ConnectionProviderProperties } from 'sql/workbench/parts/connection/common/connectionProviderExtension'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; suite('SQL ConnectionProfileInfo tests', () => { let msSQLCapabilities: ConnectionProviderProperties; - let capabilitiesService: CapabilitiesTestService; + let capabilitiesService: TestCapabilitiesService; let connectionProfile: IConnectionProfile = { connectionName: 'new name', @@ -129,7 +129,7 @@ suite('SQL ConnectionProfileInfo tests', () => { displayName: 'MSSQL', connectionOptions: connectionProvider }; - capabilitiesService = new CapabilitiesTestService(); + capabilitiesService = new TestCapabilitiesService(); capabilitiesService.capabilities[mssqlProviderName] = { connection: msSQLCapabilities }; }); diff --git a/src/sqltest/parts/connection/connectionProfileGroup.test.ts b/src/sql/platform/connection/test/common/connectionProfileGroup.test.ts similarity index 100% rename from src/sqltest/parts/connection/connectionProfileGroup.test.ts rename to src/sql/platform/connection/test/common/connectionProfileGroup.test.ts diff --git a/src/sqltest/parts/connection/connectionStatusManager.test.ts b/src/sql/platform/connection/test/common/connectionStatusManager.test.ts similarity index 97% rename from src/sqltest/parts/connection/connectionStatusManager.test.ts rename to src/sql/platform/connection/test/common/connectionStatusManager.test.ts index cbcdd6628f..6b401daedb 100644 --- a/src/sqltest/parts/connection/connectionStatusManager.test.ts +++ b/src/sql/platform/connection/test/common/connectionStatusManager.test.ts @@ -8,7 +8,7 @@ import * as azdata from 'azdata'; import { ConnectionStatusManager } from 'sql/platform/connection/common/connectionStatusManager'; import * as Utils from 'sql/platform/connection/common/utils'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { TestEnvironmentService } from 'vs/workbench/test/workbenchTestServices'; import { TestNotificationService } from 'vs/platform/notification/test/common/testNotificationService'; @@ -16,7 +16,7 @@ import { mssqlProviderName } from 'sql/platform/connection/common/constants'; import { NullLogService } from 'vs/platform/log/common/log'; let connections: ConnectionStatusManager; -let capabilitiesService: CapabilitiesTestService; +let capabilitiesService: TestCapabilitiesService; let connectionProfileObject: ConnectionProfile; let connectionProfile: IConnectionProfile = { connectionName: 'new name', @@ -76,7 +76,7 @@ let connection3Id: string; suite('SQL ConnectionStatusManager tests', () => { setup(() => { - capabilitiesService = new CapabilitiesTestService(); + capabilitiesService = new TestCapabilitiesService(); connectionProfileObject = new ConnectionProfile(capabilitiesService, connectionProfile); connections = new ConnectionStatusManager(capabilitiesService, new NullLogService(), TestEnvironmentService, new TestNotificationService()); connection1Id = Utils.generateUri(connectionProfile); diff --git a/src/sql/platform/connection/test/common/connectionStore.test.ts b/src/sql/platform/connection/test/common/connectionStore.test.ts index 338506e3fa..a7f4e0b55d 100644 --- a/src/sql/platform/connection/test/common/connectionStore.test.ts +++ b/src/sql/platform/connection/test/common/connectionStore.test.ts @@ -13,7 +13,7 @@ import { TestConfigurationService } from 'sql/platform/connection/test/common/te import { TestCredentialsService } from 'sql/platform/credentials/test/common/testCredentialsService'; import { ConnectionOptionSpecialType, ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { ConnectionProviderProperties } from 'sql/workbench/parts/connection/common/connectionProviderExtension'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { deepClone, deepFreeze } from 'vs/base/common/objects'; import { ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; import { TestStorageService } from 'vs/workbench/test/workbenchTestServices'; @@ -37,7 +37,7 @@ suite('ConnectionStore', () => { saveProfile: true, id: undefined }); - let capabilitiesService: CapabilitiesTestService; + let capabilitiesService: TestCapabilitiesService; let maxRecent = 5; let msSQLCapabilities: ConnectionProviderProperties; let provider2Capabilities: ConnectionProviderProperties; @@ -46,7 +46,7 @@ suite('ConnectionStore', () => { setup(() => { // setup configuration to return maxRecent for the #MRU items - capabilitiesService = new CapabilitiesTestService(); + capabilitiesService = new TestCapabilitiesService(); let connectionProvider: azdata.ConnectionOption[] = [ { name: 'connectionName', diff --git a/src/sqltest/parts/connection/providerConnectionInfo.test.ts b/src/sql/platform/connection/test/common/providerConnectionInfo.test.ts similarity index 97% rename from src/sqltest/parts/connection/providerConnectionInfo.test.ts rename to src/sql/platform/connection/test/common/providerConnectionInfo.test.ts index f745e2ae56..c68d3e0f6e 100644 --- a/src/sqltest/parts/connection/providerConnectionInfo.test.ts +++ b/src/sql/platform/connection/test/common/providerConnectionInfo.test.ts @@ -8,12 +8,12 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import * as azdata from 'azdata'; import * as assert from 'assert'; import { ConnectionOptionSpecialType, ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; suite('SQL ProviderConnectionInfo tests', () => { let msSQLCapabilities: any; - let capabilitiesService: CapabilitiesTestService; + let capabilitiesService: TestCapabilitiesService; let connectionProfile: IConnectionProfile = { connectionName: 'name', @@ -127,7 +127,7 @@ suite('SQL ProviderConnectionInfo tests', () => { connectionOptions: connectionProvider, }; capabilities.push(msSQLCapabilities); - capabilitiesService = new CapabilitiesTestService(); + capabilitiesService = new TestCapabilitiesService(); capabilitiesService.capabilities[mssqlProviderName] = { connection: msSQLCapabilities }; }); diff --git a/src/sqltest/stubs/connectionManagementService.test.ts b/src/sql/platform/connection/test/common/testConnectionManagementService.ts similarity index 99% rename from src/sqltest/stubs/connectionManagementService.test.ts rename to src/sql/platform/connection/test/common/testConnectionManagementService.ts index e7759fd903..3dba72ab8b 100644 --- a/src/sqltest/stubs/connectionManagementService.test.ts +++ b/src/sql/platform/connection/test/common/testConnectionManagementService.ts @@ -11,7 +11,6 @@ import { ConnectionProfile } from 'sql/platform/connection/common/connectionProf import { ConnectionManagementInfo } from 'sql/platform/connection/common/connectionManagementInfo'; import * as azdata from 'azdata'; import { Event, Emitter } from 'vs/base/common/event'; -import { isUndefinedOrNull } from 'vs/base/common/types'; import { ConnectionProviderProperties } from 'sql/workbench/parts/connection/common/connectionProviderExtension'; // Test stubs for commonly used objects diff --git a/src/sqltest/stubs/connectionProviderStub.ts b/src/sql/platform/connection/test/common/testConnectionProvider.ts similarity index 95% rename from src/sqltest/stubs/connectionProviderStub.ts rename to src/sql/platform/connection/test/common/testConnectionProvider.ts index d0ca3a54e7..e6e1a2d228 100644 --- a/src/sqltest/stubs/connectionProviderStub.ts +++ b/src/sql/platform/connection/test/common/testConnectionProvider.ts @@ -6,7 +6,7 @@ import * as azdata from 'azdata'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; -export class ConnectionProviderStub implements azdata.ConnectionProvider { +export class TestConnectionProvider implements azdata.ConnectionProvider { public readonly providerId = mssqlProviderName; connect(connectionUri: string, connectionInfo: azdata.ConnectionInfo): Thenable { diff --git a/src/sql/platform/credentials/test/common/testCredentialsService.ts b/src/sql/platform/credentials/test/common/testCredentialsService.ts index 97bff2ba82..017bb69965 100644 --- a/src/sql/platform/credentials/test/common/testCredentialsService.ts +++ b/src/sql/platform/credentials/test/common/testCredentialsService.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { ICredentialsService, CredentialManagementEvents } from 'sql/platform/credentials/common/credentialsService'; -import { Credential } from 'azdata'; +import { Credential, CredentialProvider } from 'azdata'; import { IDisposable } from 'vs/base/common/lifecycle'; import { Emitter } from 'vs/base/common/event'; @@ -40,3 +40,27 @@ export class TestCredentialsService implements ICredentialsService { throw new Error('Method not implemented.'); } } + +export class TestCredentialsProvider implements CredentialProvider { + handle: number; + + public storedCredentials: { [K: string]: Credential } = {}; + + saveCredential(credentialId: string, password: string): Thenable { + this.storedCredentials[credentialId] = { + credentialId: credentialId, + password: password + }; + return Promise.resolve(true); + } + + readCredential(credentialId: string): Thenable { + return Promise.resolve(this.storedCredentials[credentialId]); + } + + deleteCredential(credentialId: string): Thenable { + let exists = this.storedCredentials[credentialId] !== undefined; + delete this.storedCredentials[credentialId]; + return Promise.resolve(exists); + } +} diff --git a/src/sql/platform/dashboard/common/dashboardRegistry.ts b/src/sql/platform/dashboard/browser/dashboardRegistry.ts similarity index 95% rename from src/sql/platform/dashboard/common/dashboardRegistry.ts rename to src/sql/platform/dashboard/browser/dashboardRegistry.ts index 5d25fd68fa..0516da0629 100644 --- a/src/sql/platform/dashboard/common/dashboardRegistry.ts +++ b/src/sql/platform/dashboard/browser/dashboardRegistry.ts @@ -9,10 +9,10 @@ import { IJSONSchema, IJSONSchemaMap } from 'vs/base/common/jsonSchema'; import * as nls from 'vs/nls'; import { IExtensionPointUser, ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry'; -import { ProviderProperties } from 'sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component'; -import { DATABASE_DASHBOARD_TABS } from 'sql/workbench/parts/dashboard/pages/databaseDashboardPage.contribution'; -import { SERVER_DASHBOARD_TABS, SERVER_DASHBOARD_PROPERTIES } from 'sql/workbench/parts/dashboard/pages/serverDashboardPage.contribution'; -import { DASHBOARD_CONFIG_ID, DASHBOARD_TABS_KEY_PROPERTY } from 'sql/workbench/parts/dashboard/pages/dashboardPageContribution'; +import { ProviderProperties } from 'sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component'; +import { DATABASE_DASHBOARD_TABS } from 'sql/workbench/parts/dashboard/browser/pages/databaseDashboardPage.contribution'; +import { SERVER_DASHBOARD_TABS } from 'sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.contribution'; +import { DASHBOARD_CONFIG_ID, DASHBOARD_TABS_KEY_PROPERTY } from 'sql/workbench/parts/dashboard/browser/pages/dashboardPageContribution'; export const Extensions = { DashboardContributions: 'dashboard.contributions' diff --git a/src/sql/platform/dashboard/common/insightRegistry.ts b/src/sql/platform/dashboard/browser/insightRegistry.ts similarity index 74% rename from src/sql/platform/dashboard/common/insightRegistry.ts rename to src/sql/platform/dashboard/browser/insightRegistry.ts index bea82df944..948e0af5e0 100644 --- a/src/sql/platform/dashboard/common/insightRegistry.ts +++ b/src/sql/platform/dashboard/browser/insightRegistry.ts @@ -3,11 +3,11 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Type } from '@angular/core'; -import { IInsightsConfig, IInsightsView } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import * as platform from 'vs/platform/registry/common/platform'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; import * as nls from 'vs/nls'; +import { IInsightData } from 'sql/workbench/parts/charts/browser/interfaces'; export type InsightIdentifier = string; @@ -15,6 +15,57 @@ export const Extensions = { InsightContribution: 'dashboard.contributions.insights' }; +export interface IInsightsConfig { + cacheId?: string; + type: any; + name?: string; + when?: string; + gridItemConfig?: ISize; + query?: string | Array; + queryFile?: string; + details?: IInsightsConfigDetails; + autoRefreshInterval?: number; +} + +export interface IInsightsLabel { + column: string; + icon?: string; + state?: Array; +} + +export interface IStateCondition { + condition: { + if: string, + equals?: string + }; + color?: string; + icon?: string; +} + +export interface IInsightsConfigDetails { + query?: string | Array; + queryFile?: string; + label?: string | IInsightsLabel; + value?: string; + actions?: { + types: Array; + database?: string; + server?: string; + user?: string; + }; +} + +export interface ISize { + x: number; + y: number; +} + +export interface IInsightsView { + data: IInsightData; + setConfig?: (config: { [key: string]: any }) => void; + init?: () => void; +} + export interface IInsightRegistry { insightSchema: IJSONSchema; registerInsight(id: string, description: string, schema: IJSONSchema, ctor: Type): InsightIdentifier; diff --git a/src/sql/platform/dashboard/common/modelComponentRegistry.ts b/src/sql/platform/dashboard/browser/modelComponentRegistry.ts similarity index 96% rename from src/sql/platform/dashboard/common/modelComponentRegistry.ts rename to src/sql/platform/dashboard/browser/modelComponentRegistry.ts index d3ad66f8aa..4e6080c6d7 100644 --- a/src/sql/platform/dashboard/common/modelComponentRegistry.ts +++ b/src/sql/platform/dashboard/browser/modelComponentRegistry.ts @@ -6,7 +6,7 @@ import { Type } from '@angular/core'; import { ModelComponentTypes } from 'sql/workbench/api/common/sqlExtHostTypes'; import * as platform from 'vs/platform/registry/common/platform'; -import { IComponent } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponent } from 'sql/workbench/browser/modelComponents/interfaces'; export type ComponentIdentifier = string; diff --git a/src/sql/platform/dashboard/common/widgetRegistry.ts b/src/sql/platform/dashboard/browser/widgetRegistry.ts similarity index 93% rename from src/sql/platform/dashboard/common/widgetRegistry.ts rename to src/sql/platform/dashboard/browser/widgetRegistry.ts index 1705297580..f9ce7ec0e8 100644 --- a/src/sql/platform/dashboard/common/widgetRegistry.ts +++ b/src/sql/platform/dashboard/browser/widgetRegistry.ts @@ -2,14 +2,11 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInsightsConfig } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import * as platform from 'vs/platform/registry/common/platform'; import { IJSONSchema, IJSONSchemaMap } from 'vs/base/common/jsonSchema'; -import { IJSONContributionRegistry, Extensions as JSONExtensions } from 'vs/platform/jsonschemas/common/jsonContributionRegistry'; import * as nls from 'vs/nls'; - -const contributionRegistry = platform.Registry.as(JSONExtensions.JSONContribution); +import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry'; export type WidgetIdentifier = string; diff --git a/src/sql/platform/dashboard/common/dashboardContainerRegistry.ts b/src/sql/platform/dashboard/common/dashboardContainerRegistry.ts index 820e9c5e8a..d40a849256 100644 --- a/src/sql/platform/dashboard/common/dashboardContainerRegistry.ts +++ b/src/sql/platform/dashboard/common/dashboardContainerRegistry.ts @@ -5,10 +5,6 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { IJSONSchema, IJSONSchemaMap } from 'vs/base/common/jsonSchema'; -import { Extensions as ConfigurationExtension } from 'vs/platform/configuration/common/configurationRegistry'; -import { deepClone } from 'vs/base/common/objects'; - -import { WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; export const Extensions = { dashboardContainerContributions: 'dashboard.contributions.container' diff --git a/src/sql/platform/dialog/customDialogService.ts b/src/sql/platform/dialog/browser/customDialogService.ts similarity index 89% rename from src/sql/platform/dialog/customDialogService.ts rename to src/sql/platform/dialog/browser/customDialogService.ts index 481e498de4..920320e7ed 100644 --- a/src/sql/platform/dialog/customDialogService.ts +++ b/src/sql/platform/dialog/browser/customDialogService.ts @@ -3,9 +3,9 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { DialogModal } from 'sql/platform/dialog/dialogModal'; -import { WizardModal } from 'sql/platform/dialog/wizardModal'; -import { Dialog, Wizard } from 'sql/platform/dialog/dialogTypes'; +import { DialogModal } from 'sql/platform/dialog/browser/dialogModal'; +import { WizardModal } from 'sql/platform/dialog/browser/wizardModal'; +import { Dialog, Wizard } from 'sql/platform/dialog/common/dialogTypes'; import { IModalOptions } from 'sql/workbench/browser/modal/modal'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/sql/platform/dialog/dialog.module.ts b/src/sql/platform/dialog/browser/dialog.module.ts similarity index 68% rename from src/sql/platform/dialog/dialog.module.ts rename to src/sql/platform/dialog/browser/dialog.module.ts index 582725fd99..22d837f87b 100644 --- a/src/sql/platform/dialog/dialog.module.ts +++ b/src/sql/platform/dialog/browser/dialog.module.ts @@ -10,21 +10,22 @@ import { FormsModule } from '@angular/forms'; import { CommonModule, APP_BASE_HREF } from '@angular/common'; import { BrowserModule } from '@angular/platform-browser'; -import { DialogContainer } from 'sql/platform/dialog/dialogContainer.component'; -import { WizardNavigation } from 'sql/platform/dialog/wizardNavigation.component'; -import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/common/modelComponentRegistry'; -import { ModelViewContent } from 'sql/workbench/electron-browser/modelComponents/modelViewContent.component'; -import { ModelComponentWrapper } from 'sql/workbench/electron-browser/modelComponents/modelComponentWrapper.component'; -import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/common/componentHost.directive'; -import { IBootstrapParams, ISelector, providerIterator } from 'sql/platform/bootstrap/node/bootstrapService'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { EditableDropDown } from 'sql/platform/electron-browser/editableDropdown/editableDropdown.component'; -import { Checkbox } from 'sql/base/electron-browser/ui/checkbox/checkbox.component'; -import { SelectBox } from 'sql/platform/ui/electron-browser/selectBox/selectBox.component'; -import { InputBox } from 'sql/base/electron-browser/ui/inputBox/inputBox.component'; +import { DialogContainer } from 'sql/platform/dialog/browser/dialogContainer.component'; +import { WizardNavigation } from 'sql/platform/dialog/browser/wizardNavigation.component'; +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/parts/dashboard/browser/core/componentHost.directive'; +import { providerIterator } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { EditableDropDown } from 'sql/platform/browser/editableDropdown/editableDropdown.component'; +import { Checkbox } from 'sql/base/browser/ui/checkbox/checkbox.component'; +import { SelectBox } from 'sql/platform/browser/selectBox/selectBox.component'; +import { InputBox } from 'sql/platform/browser/inputbox/inputBox.component'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { Registry } from 'vs/platform/registry/common/platform'; +import { IBootstrapParams, ISelector } from 'sql/platform/bootstrap/common/bootstrapParams'; export const DialogModule = (params, selector: string, instantiationService: IInstantiationService): any => { diff --git a/src/sql/platform/dialog/dialogContainer.component.ts b/src/sql/platform/dialog/browser/dialogContainer.component.ts similarity index 89% rename from src/sql/platform/dialog/dialogContainer.component.ts rename to src/sql/platform/dialog/browser/dialogContainer.component.ts index 96f5ab4ac7..4cbfbdf29f 100644 --- a/src/sql/platform/dialog/dialogContainer.component.ts +++ b/src/sql/platform/dialog/browser/dialogContainer.component.ts @@ -5,11 +5,11 @@ import 'vs/css!./media/dialogModal'; import { Component, ViewChild, Inject, forwardRef, ElementRef, AfterViewInit } from '@angular/core'; -import { ModelViewContent } from 'sql/workbench/electron-browser/modelComponents/modelViewContent.component'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; -import { DialogPane } from 'sql/platform/dialog/dialogPane'; -import { ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ModelViewContent } from 'sql/workbench/browser/modelComponents/modelViewContent.component'; +import { DialogPane } from 'sql/platform/dialog/browser/dialogPane'; +import { ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { Event, Emitter } from 'vs/base/common/event'; +import { IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; export interface LayoutRequestParams { modelViewId?: string; diff --git a/src/sql/platform/dialog/dialogModal.ts b/src/sql/platform/dialog/browser/dialogModal.ts similarity index 96% rename from src/sql/platform/dialog/dialogModal.ts rename to src/sql/platform/dialog/browser/dialogModal.ts index 34b9c432c6..d3f08f5c2d 100644 --- a/src/sql/platform/dialog/dialogModal.ts +++ b/src/sql/platform/dialog/browser/dialogModal.ts @@ -6,8 +6,8 @@ import 'vs/css!./media/dialogModal'; import { Modal, IModalOptions } from 'sql/workbench/browser/modal/modal'; import { attachModalDialogStyler } from 'sql/platform/theme/common/styler'; -import { Dialog, DialogButton } from 'sql/platform/dialog/dialogTypes'; -import { DialogPane } from 'sql/platform/dialog/dialogPane'; +import { Dialog, DialogButton } from 'sql/platform/dialog/common/dialogTypes'; +import { DialogPane } from 'sql/platform/dialog/browser/dialogPane'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; @@ -18,7 +18,7 @@ import { SIDE_BAR_BACKGROUND } from 'vs/workbench/common/theme'; import { Emitter } from 'vs/base/common/event'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { DialogMessage } from '../../workbench/api/common/sqlExtHostTypes'; +import { DialogMessage } from 'sql/workbench/api/common/sqlExtHostTypes'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; import { append, $ } from 'vs/base/browser/dom'; diff --git a/src/sql/platform/dialog/dialogPane.ts b/src/sql/platform/dialog/browser/dialogPane.ts similarity index 94% rename from src/sql/platform/dialog/dialogPane.ts rename to src/sql/platform/dialog/browser/dialogPane.ts index 38bf27546e..2e8c28a1c3 100644 --- a/src/sql/platform/dialog/dialogPane.ts +++ b/src/sql/platform/dialog/browser/dialogPane.ts @@ -8,11 +8,11 @@ import 'vs/css!./media/dialogModal'; import { NgModuleRef } from '@angular/core'; import { IModalDialogStyles } from 'sql/workbench/browser/modal/modal'; -import { DialogTab } from 'sql/platform/dialog/dialogTypes'; -import { TabbedPanel, IPanelTab, IPanelView } from 'sql/base/browser/ui/panel/panel'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; -import { DialogModule } from 'sql/platform/dialog/dialog.module'; -import { DialogComponentParams, LayoutRequestParams } from 'sql/platform/dialog/dialogContainer.component'; +import { DialogTab } from 'sql/platform/dialog/common/dialogTypes'; +import { TabbedPanel } from 'sql/base/browser/ui/panel/panel'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { DialogModule } from 'sql/platform/dialog/browser/dialog.module'; +import { DialogComponentParams, LayoutRequestParams } from 'sql/platform/dialog/browser/dialogContainer.component'; import * as DOM from 'vs/base/browser/dom'; import { IThemable } from 'vs/platform/theme/common/styler'; diff --git a/src/sql/platform/dialog/media/dialogModal.css b/src/sql/platform/dialog/browser/media/dialogModal.css similarity index 100% rename from src/sql/platform/dialog/media/dialogModal.css rename to src/sql/platform/dialog/browser/media/dialogModal.css diff --git a/src/sql/platform/dialog/media/loading.svg b/src/sql/platform/dialog/browser/media/loading.svg similarity index 100% rename from src/sql/platform/dialog/media/loading.svg rename to src/sql/platform/dialog/browser/media/loading.svg diff --git a/src/sql/platform/dialog/media/loading_inverse.svg b/src/sql/platform/dialog/browser/media/loading_inverse.svg similarity index 100% rename from src/sql/platform/dialog/media/loading_inverse.svg rename to src/sql/platform/dialog/browser/media/loading_inverse.svg diff --git a/src/sql/platform/dialog/media/wizardNavigation.css b/src/sql/platform/dialog/browser/media/wizardNavigation.css similarity index 100% rename from src/sql/platform/dialog/media/wizardNavigation.css rename to src/sql/platform/dialog/browser/media/wizardNavigation.css diff --git a/src/sql/platform/dialog/wizardModal.ts b/src/sql/platform/dialog/browser/wizardModal.ts similarity index 97% rename from src/sql/platform/dialog/wizardModal.ts rename to src/sql/platform/dialog/browser/wizardModal.ts index 3eb8ae2e76..e4ed94ae55 100644 --- a/src/sql/platform/dialog/wizardModal.ts +++ b/src/sql/platform/dialog/browser/wizardModal.ts @@ -6,11 +6,11 @@ import 'vs/css!./media/dialogModal'; import { Modal, IModalOptions } from 'sql/workbench/browser/modal/modal'; import { attachModalDialogStyler } from 'sql/platform/theme/common/styler'; -import { Wizard, DialogButton, WizardPage } from 'sql/platform/dialog/dialogTypes'; -import { DialogPane } from 'sql/platform/dialog/dialogPane'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; +import { Wizard, DialogButton, WizardPage } from 'sql/platform/dialog/common/dialogTypes'; +import { DialogPane } from 'sql/platform/dialog/browser/dialogPane'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; import { DialogMessage } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { DialogModule } from 'sql/platform/dialog/dialog.module'; +import { DialogModule } from 'sql/platform/dialog/browser/dialog.module'; import { Button } from 'vs/base/browser/ui/button/button'; import { SIDE_BAR_BACKGROUND } from 'vs/workbench/common/theme'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; diff --git a/src/sql/platform/dialog/wizardNavigation.component.ts b/src/sql/platform/dialog/browser/wizardNavigation.component.ts similarity index 96% rename from src/sql/platform/dialog/wizardNavigation.component.ts rename to src/sql/platform/dialog/browser/wizardNavigation.component.ts index cbb775d7e2..78e0bef697 100644 --- a/src/sql/platform/dialog/wizardNavigation.component.ts +++ b/src/sql/platform/dialog/browser/wizardNavigation.component.ts @@ -5,11 +5,11 @@ import 'vs/css!./media/wizardNavigation'; import { Component, Inject, forwardRef, ElementRef, AfterViewInit, ChangeDetectorRef, ViewChild } from '@angular/core'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; import { Event, Emitter } from 'vs/base/common/event'; -import { Wizard } from './dialogTypes'; +import { Wizard } from '../common/dialogTypes'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { SIDE_BAR_BACKGROUND } from 'vs/workbench/common/theme'; +import { IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; export class WizardNavigationParams implements IBootstrapParams { wizard: Wizard; diff --git a/src/sql/platform/dialog/dialogTypes.ts b/src/sql/platform/dialog/common/dialogTypes.ts similarity index 100% rename from src/sql/platform/dialog/dialogTypes.ts rename to src/sql/platform/dialog/common/dialogTypes.ts diff --git a/src/sqltest/platform/dialog/dialogPane.test.ts b/src/sql/platform/dialog/test/electron-browser/dialogPane.test.ts similarity index 92% rename from src/sqltest/platform/dialog/dialogPane.test.ts rename to src/sql/platform/dialog/test/electron-browser/dialogPane.test.ts index 00f019d5d8..3c786d1c67 100644 --- a/src/sqltest/platform/dialog/dialogPane.test.ts +++ b/src/sql/platform/dialog/test/electron-browser/dialogPane.test.ts @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; -import { Dialog, DialogTab } from 'sql/platform/dialog/dialogTypes'; -import { DialogPane } from 'sql/platform/dialog/dialogPane'; -import { DialogComponentParams } from 'sql/platform/dialog/dialogContainer.component'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; +import { Dialog, DialogTab } from 'sql/platform/dialog/common/dialogTypes'; +import { DialogPane } from 'sql/platform/dialog/browser/dialogPane'; +import { DialogComponentParams } from 'sql/platform/dialog/browser/dialogContainer.component'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; import { TestThemeService } from 'vs/platform/theme/test/common/testThemeService'; diff --git a/src/sqltest/stubs/errorMessageServiceStub.ts b/src/sql/platform/errorMessage/test/common/testErrorMessageService.ts similarity index 90% rename from src/sqltest/stubs/errorMessageServiceStub.ts rename to src/sql/platform/errorMessage/test/common/testErrorMessageService.ts index e9b824048d..5fbd195310 100644 --- a/src/sqltest/stubs/errorMessageServiceStub.ts +++ b/src/sql/platform/errorMessage/test/common/testErrorMessageService.ts @@ -6,7 +6,7 @@ import Severity from 'vs/base/common/severity'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; -export class ErrorMessageServiceStub implements IErrorMessageService { +export class TestErrorMessageService implements IErrorMessageService { _serviceBrand: any; showDialog(severity: Severity, headerTitle: string, message: string): void { } diff --git a/src/sql/platform/jobManagement/common/jobActions.ts b/src/sql/platform/jobManagement/browser/jobActions.ts similarity index 98% rename from src/sql/platform/jobManagement/common/jobActions.ts rename to src/sql/platform/jobManagement/browser/jobActions.ts index e0e31d09b4..b0c02762c3 100644 --- a/src/sql/platform/jobManagement/common/jobActions.ts +++ b/src/sql/platform/jobManagement/browser/jobActions.ts @@ -8,18 +8,18 @@ import * as nls from 'vs/nls'; import * as azdata from 'azdata'; import { INotificationService } from 'vs/platform/notification/common/notification'; import Severity from 'vs/base/common/severity'; -import { JobHistoryComponent } from 'sql/workbench/parts/jobManagement/electron-browser/jobHistory.component'; +import { JobHistoryComponent } from 'sql/workbench/parts/jobManagement/browser/jobHistory.component'; import { IJobManagementService } from '../common/interfaces'; import { ICommandService } from 'vs/platform/commands/common/commands'; -import { JobsViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/jobsView.component'; -import { AlertsViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/alertsView.component'; -import { OperatorsViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/operatorsView.component'; -import { ProxiesViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/proxiesView.component'; +import { JobsViewComponent } from 'sql/workbench/parts/jobManagement/browser/jobsView.component'; +import { AlertsViewComponent } from 'sql/workbench/parts/jobManagement/browser/alertsView.component'; +import { OperatorsViewComponent } from 'sql/workbench/parts/jobManagement/browser/operatorsView.component'; +import { ProxiesViewComponent } from 'sql/workbench/parts/jobManagement/browser/proxiesView.component'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; -import { JobManagementView } from 'sql/workbench/parts/jobManagement/electron-browser/jobManagementView'; +import { JobManagementView } from 'sql/workbench/parts/jobManagement/browser/jobManagementView'; export const successLabel: string = nls.localize('jobaction.successLabel', 'Success'); export const errorLabel: string = nls.localize('jobaction.faillabel', 'Error'); diff --git a/src/sqltest/parts/jobManagement/jobManagementService.test.ts b/src/sql/platform/jobManagement/test/common/jobManagementService.test.ts similarity index 100% rename from src/sqltest/parts/jobManagement/jobManagementService.test.ts rename to src/sql/platform/jobManagement/test/common/jobManagementService.test.ts diff --git a/src/sqltest/parts/jobManagement/jobActions.test.ts b/src/sql/platform/jobManagement/test/electron-browser/jobActions.test.ts similarity index 98% rename from src/sqltest/parts/jobManagement/jobActions.test.ts rename to src/sql/platform/jobManagement/test/electron-browser/jobActions.test.ts index a33c769ad6..a39130aa73 100644 --- a/src/sqltest/parts/jobManagement/jobActions.test.ts +++ b/src/sql/platform/jobManagement/test/electron-browser/jobActions.test.ts @@ -5,8 +5,7 @@ import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; -import { JobsRefreshAction, NewJobAction, EditJobAction, RunJobAction, StopJobAction, DeleteJobAction, NewStepAction, DeleteStepAction, NewAlertAction, EditAlertAction, DeleteAlertAction, NewOperatorAction, EditOperatorAction, DeleteOperatorAction, NewProxyAction, EditProxyAction, DeleteProxyAction } from 'sql/platform/jobManagement/common/jobActions'; -import { TestJobManagementView } from 'sqltest/stubs/jobsManagementViewStub'; +import { JobsRefreshAction, NewJobAction, EditJobAction, RunJobAction, StopJobAction, DeleteJobAction, NewStepAction, DeleteStepAction, NewAlertAction, EditAlertAction, DeleteAlertAction, NewOperatorAction, EditOperatorAction, DeleteOperatorAction, NewProxyAction, EditProxyAction, DeleteProxyAction } from 'sql/platform/jobManagement/browser/jobActions'; import { JobManagementService } from 'sql/platform/jobManagement/common/jobManagementService'; // Mock View Components @@ -43,6 +42,22 @@ let mockNewProxyAction: TypeMoq.Mock; let mockEditProxyAction: TypeMoq.Mock; let mockDeleteProxyAction: TypeMoq.Mock; +/** + * Class to test Job Management Views + */ +class TestJobManagementView { + + refreshJobs() { return undefined; } + + openCreateJobDialog() { return undefined; } + + openCreateAlertDialog() { return undefined; } + + openCreateOperatorDialog() { return undefined; } + + openCreateProxyDialog() { return undefined; } +} + // Tests suite('Job Management Actions', () => { diff --git a/src/sql/platform/model/common/modelViewService.ts b/src/sql/platform/model/common/modelViewService.ts index ee29120d50..fb2a5909fa 100644 --- a/src/sql/platform/model/common/modelViewService.ts +++ b/src/sql/platform/model/common/modelViewService.ts @@ -5,7 +5,7 @@ import * as azdata from 'azdata'; import { IItemConfig, IComponentShape } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { IComponentEventArgs } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponentEventArgs } from 'sql/workbench/browser/modelComponents/interfaces'; import { Event } from 'vs/base/common/event'; export interface IView { diff --git a/src/sql/platform/query/common/queryManagement.ts b/src/sql/platform/query/common/queryManagement.ts index cf28cadc52..157c036ac5 100644 --- a/src/sql/platform/query/common/queryManagement.ts +++ b/src/sql/platform/query/common/queryManagement.ts @@ -8,8 +8,8 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/con import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { IDisposable } from 'vs/base/common/lifecycle'; import * as azdata from 'azdata'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { Event, Emitter } from 'vs/base/common/event'; import { keys } from 'vs/base/common/map'; diff --git a/src/sql/platform/query/common/queryModelService.ts b/src/sql/platform/query/common/queryModelService.ts index 686a7d8595..1951ad8762 100644 --- a/src/sql/platform/query/common/queryModelService.ts +++ b/src/sql/platform/query/common/queryModelService.ts @@ -9,19 +9,16 @@ import QueryRunner from 'sql/platform/query/common/queryRunner'; import { DataService } from 'sql/workbench/parts/grid/services/dataService'; import { IQueryModelService, IQueryEvent } from 'sql/platform/query/common/queryModel'; import { QueryInput } from 'sql/workbench/parts/query/common/queryInput'; -import { SqlFlavorStatusbarItem } from 'sql/workbench/parts/query/browser/flavorStatus'; import * as azdata from 'azdata'; import * as nls from 'vs/nls'; -import * as platform from 'vs/platform/registry/common/platform'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { Event, Emitter } from 'vs/base/common/event'; import * as strings from 'vs/base/common/strings'; import * as types from 'vs/base/common/types'; import { INotificationService } from 'vs/platform/notification/common/notification'; import Severity from 'vs/base/common/severity'; -import { StatusbarAlignment } from 'vs/platform/statusbar/common/statusbar'; const selectionSnippetMaxLen = 100; diff --git a/src/sql/platform/query/common/queryRunner.ts b/src/sql/platform/query/common/queryRunner.ts index 53c1435f29..43c2d492be 100644 --- a/src/sql/platform/query/common/queryRunner.ts +++ b/src/sql/platform/query/common/queryRunner.ts @@ -27,7 +27,7 @@ import { ITextResourcePropertiesService } from 'vs/editor/common/services/resour import { URI } from 'vs/base/common/uri'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; import { IGridDataProvider, getResultsString } from 'sql/platform/query/common/gridDataProvider'; -import { getErrorMessage } from 'sql/workbench/parts/notebook/notebookUtils'; +import { getErrorMessage } from 'vs/base/common/errors'; export interface IEditSessionReadyEvent { ownerUri: string; diff --git a/src/sql/platform/restore/common/restoreServiceImpl.ts b/src/sql/platform/restore/common/restoreServiceImpl.ts index 1f4482a1bc..3cc3d94b89 100644 --- a/src/sql/platform/restore/common/restoreServiceImpl.ts +++ b/src/sql/platform/restore/common/restoreServiceImpl.ts @@ -21,8 +21,8 @@ import * as Utils from 'sql/platform/connection/common/utils'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/common/objectExplorerService'; import { ITaskService } from 'sql/platform/tasks/common/tasksService'; import { TaskStatus, TaskNode } from 'sql/platform/tasks/common/tasksNode'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { invalidProvider } from 'sql/base/common/errors'; import { ILogService } from 'vs/platform/log/common/log'; diff --git a/src/sql/platform/tasks/browser/tasksRegistry.ts b/src/sql/platform/tasks/browser/tasksRegistry.ts new file mode 100644 index 0000000000..30849d2000 --- /dev/null +++ b/src/sql/platform/tasks/browser/tasksRegistry.ts @@ -0,0 +1,115 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { MenuRegistry, ICommandAction } from 'vs/platform/actions/common/actions'; +import { IDisposable } from 'vs/base/common/lifecycle'; +import { ITaskRegistry, ITaskHandler, ITask, ITaskHandlerDescription, ITaskOptions } from 'sql/platform/tasks/common/tasks'; +import * as types from 'vs/base/common/types'; +import { Event, Emitter } from 'vs/base/common/event'; +import { URI } from 'vs/base/common/uri'; +import { CommandsRegistry } from 'vs/platform/commands/common/commands'; +import { createCSSRule } from 'vs/base/browser/dom'; +import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; +import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; +import { IdGenerator } from 'vs/base/common/idGenerator'; + +const ids = new IdGenerator('task-icon-'); + +export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry { + + private _tasks = new Array(); + private _onTaskRegistered = new Emitter(); + public readonly onTaskRegistered: Event = this._onTaskRegistered.event; + private taskIdToIconClassNameMap: Map = new Map(); + + registerTask(idOrTask: string | ITask, handler?: ITaskHandler): IDisposable { + let disposable: IDisposable; + let id: string; + if (types.isString(idOrTask)) { + disposable = CommandsRegistry.registerCommand(idOrTask, handler); + id = idOrTask; + } else { + if (idOrTask.iconClass) { + this.taskIdToIconClassNameMap.set(idOrTask.id, idOrTask.iconClass); + } + disposable = CommandsRegistry.registerCommand(idOrTask); + id = idOrTask.id; + } + + this._tasks.push(id); + this._onTaskRegistered.fire(id); + + return { + dispose: () => { + let index = this._tasks.indexOf(id); + if (index >= 0) { + this._tasks = this._tasks.splice(index, 1); + } + disposable.dispose(); + } + }; + } + + getOrCreateTaskIconClassName(item: ICommandAction): string { + let iconClass = null; + if (this.taskIdToIconClassNameMap.has(item.id)) { + iconClass = this.taskIdToIconClassNameMap.get(item.id); + } else if (item.iconLocation) { + iconClass = ids.nextId(); + createCSSRule(`.icon.${iconClass}`, `background-image: url("${(item.iconLocation.light || item.iconLocation.dark).toString()}")`); + createCSSRule(`.vs-dark .icon.${iconClass}, .hc-black .icon.${iconClass}`, `background-image: url("${(item.iconLocation.dark).toString()}")`); + this.taskIdToIconClassNameMap.set(item.id, iconClass); + } + return iconClass; + } + + getTasks(): string[] { + return this._tasks.slice(0); + } +}; + +export abstract class Task { + public readonly id: string; + public readonly title: string; + public readonly iconPathDark: string; + public readonly iconPath: { dark: URI; light?: URI; }; + private readonly _iconClass: string; + private readonly _description: ITaskHandlerDescription; + + constructor(private opts: ITaskOptions) { + this.id = opts.id; + this.title = opts.title; + this.iconPath = { + dark: opts.iconPath ? URI.parse(opts.iconPath.dark) : undefined, + light: opts.iconPath ? URI.parse(opts.iconPath.light) : undefined, + }; + this._iconClass = opts.iconClass; + this._description = opts.description; + } + + private toITask(): ITask { + return { + id: this.id, + handler: (accessor, profile, args) => this.runTask(accessor, profile, args), + description: this._description, + iconClass: this._iconClass + }; + } + + private toCommandAction(): ICommandAction { + return { + iconLocation: this.iconPath, + id: this.id, + title: this.title + }; + } + + public registerTask(): IDisposable { + MenuRegistry.addCommand(this.toCommandAction()); + return TaskRegistry.registerTask(this.toITask()); + } + + public abstract runTask(accessor: ServicesAccessor, profile: IConnectionProfile, args: any): void | Promise; +} diff --git a/src/sql/platform/tasks/common/tasks.ts b/src/sql/platform/tasks/common/tasks.ts index 5e8ecf4a9a..800ad8ee91 100644 --- a/src/sql/platform/tasks/common/tasks.ts +++ b/src/sql/platform/tasks/common/tasks.ts @@ -6,14 +6,11 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import * as types from 'vs/base/common/types'; -import { ILocalizedString, MenuRegistry, ICommandAction } from 'vs/platform/actions/common/actions'; -import { Event, Emitter } from 'vs/base/common/event'; +import { ILocalizedString, ICommandAction } from 'vs/platform/actions/common/actions'; +import { Event } from 'vs/base/common/event'; import { IDisposable } from 'vs/base/common/lifecycle'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { IdGenerator } from 'vs/base/common/idGenerator'; -import { createCSSRule } from 'vs/base/browser/dom'; -import { URI } from 'vs/base/common/uri'; -import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; export interface ITaskOptions { @@ -24,50 +21,6 @@ export interface ITaskOptions { iconClass?: string; } -export abstract class Task { - public readonly id: string; - public readonly title: string; - public readonly iconPathDark: string; - public readonly iconPath: { dark: URI; light?: URI; }; - private readonly _iconClass: string; - private readonly _description: ITaskHandlerDescription; - - constructor(private opts: ITaskOptions) { - this.id = opts.id; - this.title = opts.title; - this.iconPath = { - dark: opts.iconPath ? URI.parse(opts.iconPath.dark) : undefined, - light: opts.iconPath ? URI.parse(opts.iconPath.light) : undefined, - }; - this._iconClass = opts.iconClass; - this._description = opts.description; - } - - private toITask(): ITask { - return { - id: this.id, - handler: (accessor, profile, args) => this.runTask(accessor, profile, args), - description: this._description, - iconClass: this._iconClass - }; - } - - private toCommandAction(): ICommandAction { - return { - iconLocation: this.iconPath, - id: this.id, - title: this.title - }; - } - - public registerTask(): IDisposable { - MenuRegistry.addCommand(this.toCommandAction()); - return TaskRegistry.registerTask(this.toITask()); - } - - public abstract runTask(accessor: ServicesAccessor, profile: IConnectionProfile, args: any): void | Promise; -} - export interface ITaskHandlerDescription { description: string; args: { name: string; description?: string; constraint?: types.TypeConstraint; }[]; @@ -105,58 +58,3 @@ export interface ITaskRegistry { getOrCreateTaskIconClassName(item: ICommandAction): string; onTaskRegistered: Event; } - -const ids = new IdGenerator('task-icon-'); - -export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry { - - private _tasks = new Array(); - private _onTaskRegistered = new Emitter(); - public readonly onTaskRegistered: Event = this._onTaskRegistered.event; - private taskIdToIconClassNameMap: Map = new Map(); - - registerTask(idOrTask: string | ITask, handler?: ITaskHandler): IDisposable { - let disposable: IDisposable; - let id: string; - if (types.isString(idOrTask)) { - disposable = CommandsRegistry.registerCommand(idOrTask, handler); - id = idOrTask; - } else { - if (idOrTask.iconClass) { - this.taskIdToIconClassNameMap.set(idOrTask.id, idOrTask.iconClass); - } - disposable = CommandsRegistry.registerCommand(idOrTask); - id = idOrTask.id; - } - - this._tasks.push(id); - this._onTaskRegistered.fire(id); - - return { - dispose: () => { - let index = this._tasks.indexOf(id); - if (index >= 0) { - this._tasks = this._tasks.splice(index, 1); - } - disposable.dispose(); - } - }; - } - - getOrCreateTaskIconClassName(item: ICommandAction): string { - let iconClass = null; - if (this.taskIdToIconClassNameMap.has(item.id)) { - iconClass = this.taskIdToIconClassNameMap.get(item.id); - } else if (item.iconLocation) { - iconClass = ids.nextId(); - createCSSRule(`.icon.${iconClass}`, `background-image: url("${(item.iconLocation.light || item.iconLocation.dark).toString()}")`); - createCSSRule(`.vs-dark .icon.${iconClass}, .hc-black .icon.${iconClass}`, `background-image: url("${(item.iconLocation.dark).toString()}")`); - this.taskIdToIconClassNameMap.set(item.id, iconClass); - } - return iconClass; - } - - getTasks(): string[] { - return this._tasks.slice(0); - } -}; diff --git a/src/sql/platform/telemetry/telemetryKeys.ts b/src/sql/platform/telemetry/common/telemetryKeys.ts similarity index 100% rename from src/sql/platform/telemetry/telemetryKeys.ts rename to src/sql/platform/telemetry/common/telemetryKeys.ts diff --git a/src/sql/platform/telemetry/telemetryUtilities.ts b/src/sql/platform/telemetry/common/telemetryUtilities.ts similarity index 100% rename from src/sql/platform/telemetry/telemetryUtilities.ts rename to src/sql/platform/telemetry/common/telemetryUtilities.ts diff --git a/src/sqltest/common/telemetryUtilities.test.ts b/src/sql/platform/telemetry/test/common/telemetryUtilities.test.ts similarity index 93% rename from src/sqltest/common/telemetryUtilities.test.ts rename to src/sql/platform/telemetry/test/common/telemetryUtilities.test.ts index 59ce8cb013..bc3aca54ee 100644 --- a/src/sqltest/common/telemetryUtilities.test.ts +++ b/src/sql/platform/telemetry/test/common/telemetryUtilities.test.ts @@ -3,12 +3,12 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { TelemetryServiceStub } from 'sqltest/stubs/telemetryServiceStub'; import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; import { NullLogService } from 'vs/platform/log/common/log'; +import { SimpleTelemetryService } from 'vs/workbench/browser/web.simpleservices'; suite('SQL Telemetry Utilities tests', () => { let telemetryService: TypeMoq.Mock; @@ -35,7 +35,7 @@ suite('SQL Telemetry Utilities tests', () => { }; setup(() => { - telemetryService = TypeMoq.Mock.ofType(TelemetryServiceStub, TypeMoq.MockBehavior.Strict); + telemetryService = TypeMoq.Mock.ofType(SimpleTelemetryService, TypeMoq.MockBehavior.Strict); telemetryService.setup(x => x.publicLog(TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(x => Promise.resolve(none)); }); diff --git a/src/sql/platform/theme/common/styler.ts b/src/sql/platform/theme/common/styler.ts index 7f8ddf823e..a14374b96c 100644 --- a/src/sql/platform/theme/common/styler.ts +++ b/src/sql/platform/theme/common/styler.ts @@ -10,7 +10,6 @@ import * as cr from 'vs/platform/theme/common/colorRegistry'; import { IThemable, attachStyler } from 'vs/platform/theme/common/styler'; import { IDisposable } from 'vs/base/common/lifecycle'; import { SIDE_BAR_BACKGROUND, SIDE_BAR_SECTION_HEADER_FOREGROUND, SIDE_BAR_SECTION_HEADER_BACKGROUND, SIDE_BAR_DRAG_AND_DROP_BACKGROUND, PANEL_INACTIVE_TITLE_FOREGROUND, PANEL_ACTIVE_TITLE_BORDER, PANEL_ACTIVE_TITLE_FOREGROUND } from 'vs/workbench/common/theme'; -import { IPanelColors } from 'vs/workbench/browser/parts/views/panelViewlet'; export function attachModalDialogStyler(widget: IThemable, themeService: IThemeService, style?: { @@ -272,7 +271,7 @@ export function attachCheckboxStyler(widget: IThemable, themeService: IThemeServ } export function attachPanelStyler(widget: IThemable, themeService: IThemeService) { - return attachStyler(themeService, { + return attachStyler(themeService, { headerForeground: SIDE_BAR_SECTION_HEADER_FOREGROUND, headerBackground: SIDE_BAR_SECTION_HEADER_BACKGROUND, // headerHighContrastBorder: index === 0 ? null : contrastBorder, diff --git a/src/sql/workbench/api/browser/mainThreadAccountManagement.ts b/src/sql/workbench/api/browser/mainThreadAccountManagement.ts index 8e9edc8d19..65e690a4e2 100644 --- a/src/sql/workbench/api/browser/mainThreadAccountManagement.ts +++ b/src/sql/workbench/api/browser/mainThreadAccountManagement.ts @@ -11,7 +11,7 @@ import { MainThreadAccountManagementShape, SqlExtHostContext, SqlMainContext -} from 'sql/workbench/api/node/sqlExtHost.protocol'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; diff --git a/src/sql/workbench/api/browser/mainThreadBackgroundTaskManagement.ts b/src/sql/workbench/api/browser/mainThreadBackgroundTaskManagement.ts index df8f9829e1..1773e09b24 100644 --- a/src/sql/workbench/api/browser/mainThreadBackgroundTaskManagement.ts +++ b/src/sql/workbench/api/browser/mainThreadBackgroundTaskManagement.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { ITaskService } from 'sql/platform/tasks/common/tasksService'; -import { MainThreadBackgroundTaskManagementShape, SqlMainContext, ExtHostBackgroundTaskManagementShape, SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { MainThreadBackgroundTaskManagementShape, SqlMainContext, ExtHostBackgroundTaskManagementShape, SqlExtHostContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; diff --git a/src/sql/workbench/api/browser/mainThreadConnectionManagement.ts b/src/sql/workbench/api/browser/mainThreadConnectionManagement.ts index b9266143c9..9ca101de3e 100644 --- a/src/sql/workbench/api/browser/mainThreadConnectionManagement.ts +++ b/src/sql/workbench/api/browser/mainThreadConnectionManagement.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { SqlExtHostContext, SqlMainContext, ExtHostConnectionManagementShape, MainThreadConnectionManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlExtHostContext, SqlMainContext, ExtHostConnectionManagementShape, MainThreadConnectionManagementShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import * as azdata from 'azdata'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; diff --git a/src/sql/workbench/api/browser/mainThreadCredentialManagement.ts b/src/sql/workbench/api/browser/mainThreadCredentialManagement.ts index 2d9c816326..c9340da767 100644 --- a/src/sql/workbench/api/browser/mainThreadCredentialManagement.ts +++ b/src/sql/workbench/api/browser/mainThreadCredentialManagement.ts @@ -7,7 +7,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { SqlExtHostContext, ExtHostCredentialManagementShape, MainThreadCredentialManagementShape, SqlMainContext -} from 'sql/workbench/api/node/sqlExtHost.protocol'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; import { ICredentialsService } from 'sql/platform/credentials/common/credentialsService'; import * as azdata from 'azdata'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; diff --git a/src/sql/workbench/api/browser/mainThreadDashboard.ts b/src/sql/workbench/api/browser/mainThreadDashboard.ts index 132e5e2b9b..01bb63baa2 100644 --- a/src/sql/workbench/api/browser/mainThreadDashboard.ts +++ b/src/sql/workbench/api/browser/mainThreadDashboard.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; -import { SqlMainContext, MainThreadDashboardShape, ExtHostDashboardShape, SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, MainThreadDashboardShape, ExtHostDashboardShape, SqlExtHostContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; diff --git a/src/sql/workbench/api/browser/mainThreadDashboardWebview.ts b/src/sql/workbench/api/browser/mainThreadDashboardWebview.ts index 5d8da74b48..2c7b9b76e2 100644 --- a/src/sql/workbench/api/browser/mainThreadDashboardWebview.ts +++ b/src/sql/workbench/api/browser/mainThreadDashboardWebview.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { MainThreadDashboardWebviewShape, SqlMainContext, ExtHostDashboardWebviewsShape, SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { MainThreadDashboardWebviewShape, SqlMainContext, ExtHostDashboardWebviewsShape, SqlExtHostContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { IDashboardViewService, IDashboardWebview } from 'sql/platform/dashboard/common/dashboardViewService'; diff --git a/src/sql/workbench/api/browser/mainThreadDataProtocol.ts b/src/sql/workbench/api/browser/mainThreadDataProtocol.ts index 4e3480f290..fe6650eb50 100644 --- a/src/sql/workbench/api/browser/mainThreadDataProtocol.ts +++ b/src/sql/workbench/api/browser/mainThreadDataProtocol.ts @@ -7,7 +7,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { SqlExtHostContext, ExtHostDataProtocolShape, MainThreadDataProtocolShape, SqlMainContext -} from 'sql/workbench/api/node/sqlExtHost.protocol'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { IQueryManagementService } from 'sql/platform/query/common/queryManagement'; diff --git a/src/sql/workbench/api/browser/mainThreadExtensionManagement.ts b/src/sql/workbench/api/browser/mainThreadExtensionManagement.ts index a6a99168f7..8339f320fb 100644 --- a/src/sql/workbench/api/browser/mainThreadExtensionManagement.ts +++ b/src/sql/workbench/api/browser/mainThreadExtensionManagement.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { SqlMainContext, MainThreadExtensionManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, MainThreadExtensionManagementShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { dispose, IDisposable } from 'vs/base/common/lifecycle'; diff --git a/src/sql/workbench/api/browser/mainThreadModalDialog.ts b/src/sql/workbench/api/browser/mainThreadModalDialog.ts index 413343ae24..9074b327c5 100644 --- a/src/sql/workbench/api/browser/mainThreadModalDialog.ts +++ b/src/sql/workbench/api/browser/mainThreadModalDialog.ts @@ -6,7 +6,7 @@ import 'vs/css!sql/media/icons/common-icons'; import { WebViewDialog } from 'sql/workbench/parts/webview/electron-browser/webViewDialog'; -import { MainThreadModalDialogShape, SqlMainContext, SqlExtHostContext, ExtHostModalDialogsShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { MainThreadModalDialogShape, SqlMainContext, SqlExtHostContext, ExtHostModalDialogsShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; diff --git a/src/sql/workbench/api/browser/mainThreadModelView.ts b/src/sql/workbench/api/browser/mainThreadModelView.ts index b060102bdd..b386aac69d 100644 --- a/src/sql/workbench/api/browser/mainThreadModelView.ts +++ b/src/sql/workbench/api/browser/mainThreadModelView.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { MainThreadModelViewShape, SqlMainContext, ExtHostModelViewShape, SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { MainThreadModelViewShape, SqlMainContext, ExtHostModelViewShape, SqlExtHostContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { Disposable } from 'vs/base/common/lifecycle'; diff --git a/src/sql/workbench/api/browser/mainThreadNotebook.ts b/src/sql/workbench/api/browser/mainThreadNotebook.ts index 3722b39323..393cb66d4a 100644 --- a/src/sql/workbench/api/browser/mainThreadNotebook.ts +++ b/src/sql/workbench/api/browser/mainThreadNotebook.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; -import { SqlExtHostContext, SqlMainContext, ExtHostNotebookShape, MainThreadNotebookShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlExtHostContext, SqlMainContext, ExtHostNotebookShape, MainThreadNotebookShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { Disposable } from 'vs/base/common/lifecycle'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; @@ -15,7 +15,7 @@ import { INotebookService, INotebookProvider, INotebookManager } from 'sql/workb import { INotebookManagerDetails, INotebookSessionDetails, INotebookKernelDetails, FutureMessageType, INotebookFutureDetails, INotebookFutureDone } from 'sql/workbench/api/common/sqlExtHostTypes'; import { LocalContentManager } from 'sql/workbench/services/notebook/node/localContentManager'; import { Deferred } from 'sql/base/common/promise'; -import { FutureInternal } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { FutureInternal } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; @extHostNamedCustomer(SqlMainContext.MainThreadNotebook) export class MainThreadNotebook extends Disposable implements MainThreadNotebookShape { diff --git a/src/sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.ts b/src/sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.ts index f404357788..c87c544e7a 100644 --- a/src/sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.ts +++ b/src/sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.ts @@ -20,13 +20,13 @@ import * as types from 'vs/base/common/types'; import { SqlMainContext, MainThreadNotebookDocumentsAndEditorsShape, SqlExtHostContext, ExtHostNotebookDocumentsAndEditorsShape, INotebookDocumentsAndEditorsDelta, INotebookEditorAddData, INotebookShowOptions, INotebookModelAddedData, INotebookModelChangedData -} from 'sql/workbench/api/node/sqlExtHost.protocol'; -import { NotebookInput } from 'sql/workbench/parts/notebook/notebookInput'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; +import { NotebookInput } from 'sql/workbench/parts/notebook/node/notebookInput'; import { INotebookService, INotebookEditor, IProviderInfo } from 'sql/workbench/services/notebook/common/notebookService'; import { ISingleNotebookEditOperation, NotebookChangeKind } from 'sql/workbench/api/common/sqlExtHostTypes'; import { disposed } from 'vs/base/common/errors'; -import { ICellModel, NotebookContentChange, INotebookModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { NotebookChangeType, CellTypes } from 'sql/workbench/parts/notebook/models/contracts'; +import { ICellModel, NotebookContentChange, INotebookModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { NotebookChangeType, CellTypes } from 'sql/workbench/parts/notebook/common/models/contracts'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService'; import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService'; diff --git a/src/sql/workbench/api/browser/mainThreadObjectExplorer.ts b/src/sql/workbench/api/browser/mainThreadObjectExplorer.ts index 0b70e7d3bc..1a7675f7be 100644 --- a/src/sql/workbench/api/browser/mainThreadObjectExplorer.ts +++ b/src/sql/workbench/api/browser/mainThreadObjectExplorer.ts @@ -3,18 +3,13 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { SqlExtHostContext, SqlMainContext, ExtHostObjectExplorerShape, MainThreadObjectExplorerShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlExtHostContext, SqlMainContext, ExtHostObjectExplorerShape, MainThreadObjectExplorerShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import * as azdata from 'azdata'; import * as vscode from 'vscode'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; -import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IObjectExplorerService, NodeInfoWithConnection } from 'sql/workbench/services/objectExplorer/common/objectExplorerService'; -import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import * as TaskUtilities from 'sql/workbench/common/taskUtilities'; -import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { dispose, IDisposable } from 'vs/base/common/lifecycle'; -import { TreeItemCollapsibleState } from 'sql/workbench/parts/objectExplorer/common/treeNode'; @extHostNamedCustomer(SqlMainContext.MainThreadObjectExplorer) export class MainThreadObjectExplorer implements MainThreadObjectExplorerShape { @@ -24,9 +19,7 @@ export class MainThreadObjectExplorer implements MainThreadObjectExplorerShape { constructor( extHostContext: IExtHostContext, - @IConnectionManagementService private _connectionManagementService: IConnectionManagementService, @IObjectExplorerService private _objectExplorerService: IObjectExplorerService, - @IEditorService private _workbenchEditorService: IEditorService ) { if (extHostContext) { this._proxy = extHostContext.getProxy(SqlExtHostContext.ExtHostObjectExplorer); diff --git a/src/sql/workbench/api/browser/mainThreadQueryEditor.ts b/src/sql/workbench/api/browser/mainThreadQueryEditor.ts index a1024a6f3c..1c7a5d2967 100644 --- a/src/sql/workbench/api/browser/mainThreadQueryEditor.ts +++ b/src/sql/workbench/api/browser/mainThreadQueryEditor.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { SqlExtHostContext, SqlMainContext, ExtHostQueryEditorShape, MainThreadQueryEditorShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlExtHostContext, SqlMainContext, ExtHostQueryEditorShape, MainThreadQueryEditorShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { IConnectionManagementService, IConnectionCompletionOptions, ConnectionType, RunQueryOnConnectionMode } from 'sql/platform/connection/common/connectionManagement'; diff --git a/src/sql/workbench/api/browser/mainThreadResourceProvider.ts b/src/sql/workbench/api/browser/mainThreadResourceProvider.ts index 0797b0ef86..f68eb80e48 100644 --- a/src/sql/workbench/api/browser/mainThreadResourceProvider.ts +++ b/src/sql/workbench/api/browser/mainThreadResourceProvider.ts @@ -11,7 +11,7 @@ import { MainThreadResourceProviderShape, SqlExtHostContext, SqlMainContext -} from 'sql/workbench/api/node/sqlExtHost.protocol'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; diff --git a/src/sql/workbench/api/browser/mainThreadSerializationProvider.ts b/src/sql/workbench/api/browser/mainThreadSerializationProvider.ts index 9897d0eda2..3f14ddfc64 100644 --- a/src/sql/workbench/api/browser/mainThreadSerializationProvider.ts +++ b/src/sql/workbench/api/browser/mainThreadSerializationProvider.ts @@ -7,7 +7,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { SqlExtHostContext, ExtHostSerializationProviderShape, MainThreadSerializationProviderShape, SqlMainContext -} from 'sql/workbench/api/node/sqlExtHost.protocol'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; import { ISerializationService } from 'sql/platform/serialization/common/serializationService'; import * as azdata from 'azdata'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; diff --git a/src/sql/workbench/api/browser/mainThreadTasks.ts b/src/sql/workbench/api/browser/mainThreadTasks.ts index f6ca9e1dff..46d68696c9 100644 --- a/src/sql/workbench/api/browser/mainThreadTasks.ts +++ b/src/sql/workbench/api/browser/mainThreadTasks.ts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; -import { TaskRegistry, ITaskHandlerDescription } from 'sql/platform/tasks/common/tasks'; import { IDisposable } from 'vs/base/common/lifecycle'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; @@ -13,11 +12,12 @@ import { SqlMainContext, ExtHostTasksShape, MainThreadTasksShape -} from 'sql/workbench/api/node/sqlExtHost.protocol'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IConnectionProfile } from 'azdata'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; +import { TaskRegistry } from 'sql/platform/tasks/browser/tasksRegistry'; @extHostNamedCustomer(SqlMainContext.MainThreadTasks) export class MainThreadTasks implements MainThreadTasksShape { diff --git a/src/sql/workbench/api/node/extHostAccountManagement.ts b/src/sql/workbench/api/common/extHostAccountManagement.ts similarity index 99% rename from src/sql/workbench/api/node/extHostAccountManagement.ts rename to src/sql/workbench/api/common/extHostAccountManagement.ts index acebcdc9e1..66d3ada14d 100644 --- a/src/sql/workbench/api/node/extHostAccountManagement.ts +++ b/src/sql/workbench/api/common/extHostAccountManagement.ts @@ -9,7 +9,7 @@ import { ExtHostAccountManagementShape, MainThreadAccountManagementShape, SqlMainContext, -} from 'sql/workbench/api/node/sqlExtHost.protocol'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; import { AzureResource } from 'sql/workbench/api/common/sqlExtHostTypes'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; import { Event, Emitter } from 'vs/base/common/event'; diff --git a/src/sql/workbench/api/node/extHostBackgroundTaskManagement.ts b/src/sql/workbench/api/common/extHostBackgroundTaskManagement.ts similarity index 99% rename from src/sql/workbench/api/node/extHostBackgroundTaskManagement.ts rename to src/sql/workbench/api/common/extHostBackgroundTaskManagement.ts index 9cfaab1b05..9a9dd69d2b 100644 --- a/src/sql/workbench/api/node/extHostBackgroundTaskManagement.ts +++ b/src/sql/workbench/api/common/extHostBackgroundTaskManagement.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; -import { ExtHostBackgroundTaskManagementShape, SqlMainContext, MainThreadBackgroundTaskManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostBackgroundTaskManagementShape, SqlMainContext, MainThreadBackgroundTaskManagementShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import * as azdata from 'azdata'; import * as vscode from 'vscode'; import { Emitter } from 'vs/base/common/event'; diff --git a/src/sql/workbench/api/node/extHostConnectionManagement.ts b/src/sql/workbench/api/common/extHostConnectionManagement.ts similarity index 96% rename from src/sql/workbench/api/node/extHostConnectionManagement.ts rename to src/sql/workbench/api/common/extHostConnectionManagement.ts index 080f9e6d53..55b04658de 100644 --- a/src/sql/workbench/api/node/extHostConnectionManagement.ts +++ b/src/sql/workbench/api/common/extHostConnectionManagement.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ExtHostConnectionManagementShape, SqlMainContext, MainThreadConnectionManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostConnectionManagementShape, SqlMainContext, MainThreadConnectionManagementShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; import * as azdata from 'azdata'; diff --git a/src/sql/workbench/api/node/extHostCredentialManagement.ts b/src/sql/workbench/api/common/extHostCredentialManagement.ts similarity index 98% rename from src/sql/workbench/api/node/extHostCredentialManagement.ts rename to src/sql/workbench/api/common/extHostCredentialManagement.ts index 56eaa228fd..69efed37f1 100644 --- a/src/sql/workbench/api/node/extHostCredentialManagement.ts +++ b/src/sql/workbench/api/common/extHostCredentialManagement.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; -import { SqlMainContext, MainThreadCredentialManagementShape, ExtHostCredentialManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, MainThreadCredentialManagementShape, ExtHostCredentialManagementShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import * as vscode from 'vscode'; import * as azdata from 'azdata'; import { Disposable } from 'vs/workbench/api/common/extHostTypes'; diff --git a/src/sql/workbench/api/node/extHostDashboard.ts b/src/sql/workbench/api/common/extHostDashboard.ts similarity index 100% rename from src/sql/workbench/api/node/extHostDashboard.ts rename to src/sql/workbench/api/common/extHostDashboard.ts diff --git a/src/sql/workbench/api/node/extHostDashboardWebview.ts b/src/sql/workbench/api/common/extHostDashboardWebview.ts similarity index 97% rename from src/sql/workbench/api/node/extHostDashboardWebview.ts rename to src/sql/workbench/api/common/extHostDashboardWebview.ts index f6e35ea726..5b48e13876 100644 --- a/src/sql/workbench/api/node/extHostDashboardWebview.ts +++ b/src/sql/workbench/api/common/extHostDashboardWebview.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { SqlMainContext, ExtHostDashboardWebviewsShape, MainThreadDashboardWebviewShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, ExtHostDashboardWebviewsShape, MainThreadDashboardWebviewShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; import { Emitter } from 'vs/base/common/event'; diff --git a/src/sql/workbench/api/node/extHostDataProtocol.ts b/src/sql/workbench/api/common/extHostDataProtocol.ts similarity index 99% rename from src/sql/workbench/api/node/extHostDataProtocol.ts rename to src/sql/workbench/api/common/extHostDataProtocol.ts index 4b4cc19b26..817475d39a 100644 --- a/src/sql/workbench/api/node/extHostDataProtocol.ts +++ b/src/sql/workbench/api/common/extHostDataProtocol.ts @@ -8,7 +8,7 @@ import * as azdata from 'azdata'; import { Event, Emitter } from 'vs/base/common/event'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; import { Disposable } from 'vs/workbench/api/common/extHostTypes'; -import { SqlMainContext, MainThreadDataProtocolShape, ExtHostDataProtocolShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, MainThreadDataProtocolShape, ExtHostDataProtocolShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { DataProviderType } from 'sql/workbench/api/common/sqlExtHostTypes'; export class ExtHostDataProtocol extends ExtHostDataProtocolShape { diff --git a/src/sql/workbench/api/node/extHostExtensionManagement.ts b/src/sql/workbench/api/common/extHostExtensionManagement.ts similarity index 91% rename from src/sql/workbench/api/node/extHostExtensionManagement.ts rename to src/sql/workbench/api/common/extHostExtensionManagement.ts index 433d35ad38..f70e7ed905 100644 --- a/src/sql/workbench/api/node/extHostExtensionManagement.ts +++ b/src/sql/workbench/api/common/extHostExtensionManagement.ts @@ -5,7 +5,7 @@ import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; -import { ExtHostExtensionManagementShape, MainThreadExtensionManagementShape, SqlMainContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostExtensionManagementShape, MainThreadExtensionManagementShape, SqlMainContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; export class ExtHostExtensionManagement implements ExtHostExtensionManagementShape { diff --git a/src/sql/workbench/api/node/extHostModalDialog.ts b/src/sql/workbench/api/common/extHostModalDialog.ts similarity index 97% rename from src/sql/workbench/api/node/extHostModalDialog.ts rename to src/sql/workbench/api/common/extHostModalDialog.ts index 84c2d73fb0..bc9c661c5a 100644 --- a/src/sql/workbench/api/node/extHostModalDialog.ts +++ b/src/sql/workbench/api/common/extHostModalDialog.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { SqlMainContext, MainThreadModalDialogShape, ExtHostModalDialogsShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, MainThreadModalDialogShape, ExtHostModalDialogsShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; import * as vscode from 'vscode'; import * as azdata from 'azdata'; diff --git a/src/sql/workbench/api/node/extHostModelView.ts b/src/sql/workbench/api/common/extHostModelView.ts similarity index 99% rename from src/sql/workbench/api/node/extHostModelView.ts rename to src/sql/workbench/api/common/extHostModelView.ts index fb349b7f0e..16e92ec81b 100644 --- a/src/sql/workbench/api/node/extHostModelView.ts +++ b/src/sql/workbench/api/common/extHostModelView.ts @@ -12,7 +12,7 @@ import * as nls from 'vs/nls'; import * as vscode from 'vscode'; import * as azdata from 'azdata'; -import { SqlMainContext, ExtHostModelViewShape, MainThreadModelViewShape, ExtHostModelViewTreeViewsShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, ExtHostModelViewShape, MainThreadModelViewShape, ExtHostModelViewTreeViewsShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IItemConfig, ModelComponentTypes, IComponentShape, IComponentEventArgs, ComponentEventType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'; diff --git a/src/sql/workbench/api/node/extHostModelViewDialog.ts b/src/sql/workbench/api/common/extHostModelViewDialog.ts similarity index 99% rename from src/sql/workbench/api/node/extHostModelViewDialog.ts rename to src/sql/workbench/api/common/extHostModelViewDialog.ts index ad75e498af..8c24377407 100644 --- a/src/sql/workbench/api/node/extHostModelViewDialog.ts +++ b/src/sql/workbench/api/common/extHostModelViewDialog.ts @@ -11,7 +11,7 @@ import { generateUuid } from 'vs/base/common/uuid'; import * as vscode from 'vscode'; import * as azdata from 'azdata'; -import { SqlMainContext, ExtHostModelViewDialogShape, MainThreadModelViewDialogShape, ExtHostModelViewShape, ExtHostBackgroundTaskManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, ExtHostModelViewDialogShape, MainThreadModelViewDialogShape, ExtHostModelViewShape, ExtHostBackgroundTaskManagementShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'; const DONE_LABEL = nls.localize('dialogDoneLabel', 'Done'); diff --git a/src/sql/workbench/api/node/extHostModelViewTree.ts b/src/sql/workbench/api/common/extHostModelViewTree.ts similarity index 98% rename from src/sql/workbench/api/node/extHostModelViewTree.ts rename to src/sql/workbench/api/common/extHostModelViewTree.ts index a25a3d7aa2..3ced90d841 100644 --- a/src/sql/workbench/api/node/extHostModelViewTree.ts +++ b/src/sql/workbench/api/common/extHostModelViewTree.ts @@ -5,7 +5,7 @@ import { localize } from 'vs/nls'; import * as vscode from 'vscode'; -import { SqlMainContext, ExtHostModelViewTreeViewsShape, MainThreadModelViewShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, ExtHostModelViewTreeViewsShape, MainThreadModelViewShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { ITreeComponentItem } from 'sql/workbench/common/views'; import { CommandsConverter } from 'vs/workbench/api/common/extHostCommands'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; diff --git a/src/sql/workbench/api/node/extHostNotebook.ts b/src/sql/workbench/api/common/extHostNotebook.ts similarity index 99% rename from src/sql/workbench/api/node/extHostNotebook.ts rename to src/sql/workbench/api/common/extHostNotebook.ts index ecbeb3c88c..bb811c4596 100644 --- a/src/sql/workbench/api/node/extHostNotebook.ts +++ b/src/sql/workbench/api/common/extHostNotebook.ts @@ -11,7 +11,7 @@ import { Disposable } from 'vs/workbench/api/common/extHostTypes'; import { localize } from 'vs/nls'; import { URI, UriComponents } from 'vs/base/common/uri'; -import { ExtHostNotebookShape, MainThreadNotebookShape, SqlMainContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostNotebookShape, MainThreadNotebookShape, SqlMainContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { INotebookManagerDetails, INotebookSessionDetails, INotebookKernelDetails, INotebookFutureDetails, FutureMessageType } from 'sql/workbench/api/common/sqlExtHostTypes'; type Adapter = azdata.nb.NotebookProvider | azdata.nb.NotebookManager | azdata.nb.ISession | azdata.nb.IKernel | azdata.nb.IFuture; diff --git a/src/sql/workbench/api/node/extHostNotebookDocumentData.ts b/src/sql/workbench/api/common/extHostNotebookDocumentData.ts similarity index 97% rename from src/sql/workbench/api/node/extHostNotebookDocumentData.ts rename to src/sql/workbench/api/common/extHostNotebookDocumentData.ts index d54e64b690..29621f8f16 100644 --- a/src/sql/workbench/api/node/extHostNotebookDocumentData.ts +++ b/src/sql/workbench/api/common/extHostNotebookDocumentData.ts @@ -10,7 +10,7 @@ import { URI } from 'vs/base/common/uri'; import { ok } from 'vs/base/common/assert'; import { Schemas } from 'vs/base/common/network'; -import { MainThreadNotebookDocumentsAndEditorsShape, INotebookModelChangedData } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { MainThreadNotebookDocumentsAndEditorsShape, INotebookModelChangedData } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { CellRange } from 'sql/workbench/api/common/sqlExtHostTypes'; diff --git a/src/sql/workbench/api/node/extHostNotebookDocumentsAndEditors.ts b/src/sql/workbench/api/common/extHostNotebookDocumentsAndEditors.ts similarity index 97% rename from src/sql/workbench/api/node/extHostNotebookDocumentsAndEditors.ts rename to src/sql/workbench/api/common/extHostNotebookDocumentsAndEditors.ts index e6f6bce8eb..23190afc59 100644 --- a/src/sql/workbench/api/node/extHostNotebookDocumentsAndEditors.ts +++ b/src/sql/workbench/api/common/extHostNotebookDocumentsAndEditors.ts @@ -18,9 +18,9 @@ import { localize } from 'vs/nls'; import { SqlMainContext, INotebookDocumentsAndEditorsDelta, ExtHostNotebookDocumentsAndEditorsShape, MainThreadNotebookDocumentsAndEditorsShape, INotebookShowOptions, INotebookModelChangedData -} from 'sql/workbench/api/node/sqlExtHost.protocol'; -import { ExtHostNotebookDocumentData } from 'sql/workbench/api/node/extHostNotebookDocumentData'; -import { ExtHostNotebookEditor } from 'sql/workbench/api/node/extHostNotebookEditor'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; +import { ExtHostNotebookDocumentData } from 'sql/workbench/api/common/extHostNotebookDocumentData'; +import { ExtHostNotebookEditor } from 'sql/workbench/api/common/extHostNotebookEditor'; type Adapter = azdata.nb.NavigationProvider; diff --git a/src/sql/workbench/api/node/extHostNotebookEditor.ts b/src/sql/workbench/api/common/extHostNotebookEditor.ts similarity index 97% rename from src/sql/workbench/api/node/extHostNotebookEditor.ts rename to src/sql/workbench/api/common/extHostNotebookEditor.ts index 534f60b75b..8446700386 100644 --- a/src/sql/workbench/api/node/extHostNotebookEditor.ts +++ b/src/sql/workbench/api/common/extHostNotebookEditor.ts @@ -10,8 +10,8 @@ import { ok } from 'vs/base/common/assert'; import { IDisposable } from 'vs/base/common/lifecycle'; import { readonly } from 'vs/base/common/errors'; -import { MainThreadNotebookDocumentsAndEditorsShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; -import { ExtHostNotebookDocumentData } from 'sql/workbench/api/node/extHostNotebookDocumentData'; +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'; export interface INotebookEditOperation { diff --git a/src/sql/workbench/api/node/extHostObjectExplorer.ts b/src/sql/workbench/api/common/extHostObjectExplorer.ts similarity index 98% rename from src/sql/workbench/api/node/extHostObjectExplorer.ts rename to src/sql/workbench/api/common/extHostObjectExplorer.ts index c4de90f664..1816d6eb61 100644 --- a/src/sql/workbench/api/node/extHostObjectExplorer.ts +++ b/src/sql/workbench/api/common/extHostObjectExplorer.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; -import { ExtHostObjectExplorerShape, SqlMainContext, MainThreadObjectExplorerShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostObjectExplorerShape, SqlMainContext, MainThreadObjectExplorerShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import * as azdata from 'azdata'; import * as vscode from 'vscode'; diff --git a/src/sql/workbench/api/node/extHostQueryEditor.ts b/src/sql/workbench/api/common/extHostQueryEditor.ts similarity index 97% rename from src/sql/workbench/api/node/extHostQueryEditor.ts rename to src/sql/workbench/api/common/extHostQueryEditor.ts index 49da66bdf1..53df160ed0 100644 --- a/src/sql/workbench/api/node/extHostQueryEditor.ts +++ b/src/sql/workbench/api/common/extHostQueryEditor.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; -import { ExtHostQueryEditorShape, SqlMainContext, MainThreadQueryEditorShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostQueryEditorShape, SqlMainContext, MainThreadQueryEditorShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import * as azdata from 'azdata'; import { IQueryEvent } from 'sql/platform/query/common/queryModel'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; diff --git a/src/sql/workbench/api/node/extHostResourceProvider.ts b/src/sql/workbench/api/common/extHostResourceProvider.ts similarity index 98% rename from src/sql/workbench/api/node/extHostResourceProvider.ts rename to src/sql/workbench/api/common/extHostResourceProvider.ts index f1f61450e9..e9be5bb83f 100644 --- a/src/sql/workbench/api/node/extHostResourceProvider.ts +++ b/src/sql/workbench/api/common/extHostResourceProvider.ts @@ -10,7 +10,7 @@ import { ExtHostResourceProviderShape, MainThreadResourceProviderShape, SqlMainContext, -} from 'sql/workbench/api/node/sqlExtHost.protocol'; +} from 'sql/workbench/api/common/sqlExtHost.protocol'; export class ExtHostResourceProvider extends ExtHostResourceProviderShape { private _handlePool: number = 0; diff --git a/src/sql/workbench/api/node/extHostSerializationProvider.ts b/src/sql/workbench/api/common/extHostSerializationProvider.ts similarity index 96% rename from src/sql/workbench/api/node/extHostSerializationProvider.ts rename to src/sql/workbench/api/common/extHostSerializationProvider.ts index 58ae09ae85..d8f3d1b976 100644 --- a/src/sql/workbench/api/node/extHostSerializationProvider.ts +++ b/src/sql/workbench/api/common/extHostSerializationProvider.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; -import { SqlMainContext, MainThreadSerializationProviderShape, ExtHostSerializationProviderShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, MainThreadSerializationProviderShape, ExtHostSerializationProviderShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import * as vscode from 'vscode'; import * as azdata from 'azdata'; import { Disposable } from 'vs/workbench/api/common/extHostTypes'; diff --git a/src/sql/workbench/api/node/extHostTasks.ts b/src/sql/workbench/api/common/extHostTasks.ts similarity index 97% rename from src/sql/workbench/api/node/extHostTasks.ts rename to src/sql/workbench/api/common/extHostTasks.ts index b3c078355e..79b0c2056d 100644 --- a/src/sql/workbench/api/node/extHostTasks.ts +++ b/src/sql/workbench/api/common/extHostTasks.ts @@ -11,7 +11,7 @@ import * as extHostTypes from 'vs/workbench/api/common/extHostTypes'; import * as azdata from 'azdata'; import { ITaskHandlerDescription } from 'sql/platform/tasks/common/tasks'; -import { SqlMainContext, MainThreadTasksShape, ExtHostTasksShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext, MainThreadTasksShape, ExtHostTasksShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; interface TaskHandler { callback: Function; diff --git a/src/sql/workbench/api/node/sqlExtHost.protocol.ts b/src/sql/workbench/api/common/sqlExtHost.protocol.ts similarity index 100% rename from src/sql/workbench/api/node/sqlExtHost.protocol.ts rename to src/sql/workbench/api/common/sqlExtHost.protocol.ts diff --git a/src/sql/workbench/api/electron-browser/extensionHost.contribution.ts b/src/sql/workbench/api/electron-browser/extensionHost.contribution.ts index 4c24e9f734..f365ba0bcf 100644 --- a/src/sql/workbench/api/electron-browser/extensionHost.contribution.ts +++ b/src/sql/workbench/api/electron-browser/extensionHost.contribution.ts @@ -3,4 +3,44 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import '../browser/extensionHost.contribution.common'; +import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; +import { Registry } from 'vs/platform/registry/common/platform'; +import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; + +// --- SQL contributions +import 'sql/workbench/api/browser/mainThreadConnectionManagement'; +import 'sql/workbench/api/browser/mainThreadCredentialManagement'; +import 'sql/workbench/api/browser/mainThreadDataProtocol'; +import 'sql/workbench/api/browser/mainThreadObjectExplorer'; +import 'sql/workbench/api/browser/mainThreadBackgroundTaskManagement'; +import 'sql/workbench/api/browser/mainThreadSerializationProvider'; +import 'sql/workbench/api/browser/mainThreadResourceProvider'; +import 'sql/workbench/api/browser/mainThreadTasks'; +import 'sql/workbench/api/browser/mainThreadDashboard'; +import 'sql/workbench/api/browser/mainThreadDashboardWebview'; +import 'sql/workbench/api/browser/mainThreadQueryEditor'; +import 'sql/workbench/api/browser/mainThreadModelView'; +import 'sql/workbench/api/electron-browser/mainThreadModelViewDialog'; +import 'sql/workbench/api/browser/mainThreadNotebook'; +import 'sql/workbench/api/browser/mainThreadNotebookDocumentsAndEditors'; +import 'sql/workbench/api/browser/mainThreadAccountManagement'; +import 'sql/workbench/api/browser/mainThreadExtensionManagement'; +import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; + +export class SqlExtHostContribution implements IWorkbenchContribution { + + constructor( + @IInstantiationService private instantiationService: IInstantiationService + ) { + } + + public getId(): string { + return 'sql.api.sqlExtHost'; + } +} + +// Register File Tracker +Registry.as(WorkbenchExtensions.Workbench).registerWorkbenchContribution( + SqlExtHostContribution, + LifecyclePhase.Restored +); diff --git a/src/sql/workbench/api/browser/mainThreadModelViewDialog.ts b/src/sql/workbench/api/electron-browser/mainThreadModelViewDialog.ts similarity index 97% rename from src/sql/workbench/api/browser/mainThreadModelViewDialog.ts rename to src/sql/workbench/api/electron-browser/mainThreadModelViewDialog.ts index 30969f5419..7c7218b8e3 100644 --- a/src/sql/workbench/api/browser/mainThreadModelViewDialog.ts +++ b/src/sql/workbench/api/electron-browser/mainThreadModelViewDialog.ts @@ -8,11 +8,11 @@ import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { MainThreadModelViewDialogShape, SqlMainContext, ExtHostModelViewDialogShape, SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; -import { Dialog, DialogTab, DialogButton, WizardPage, Wizard } from 'sql/platform/dialog/dialogTypes'; -import { CustomDialogService } from 'sql/platform/dialog/customDialogService'; +import { MainThreadModelViewDialogShape, SqlMainContext, ExtHostModelViewDialogShape, SqlExtHostContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; +import { Dialog, DialogTab, DialogButton, WizardPage, Wizard } from 'sql/platform/dialog/common/dialogTypes'; +import { CustomDialogService } from 'sql/platform/dialog/browser/customDialogService'; import { IModelViewDialogDetails, IModelViewTabDetails, IModelViewButtonDetails, IModelViewWizardPageDetails, IModelViewWizardDetails } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { ModelViewInput, ModelViewInputModel, ModeViewSaveHandler } from 'sql/workbench/electron-browser/modelComponents/modelViewInput'; +import { ModelViewInput, ModelViewInputModel, ModeViewSaveHandler } from 'sql/workbench/browser/modelComponents/modelViewInput'; import * as vscode from 'vscode'; import * as azdata from 'azdata'; diff --git a/src/sql/workbench/api/node/sqlExtHost.api.impl.ts b/src/sql/workbench/api/node/sqlExtHost.api.impl.ts index ac2d50e8a8..6b4095f486 100644 --- a/src/sql/workbench/api/node/sqlExtHost.api.impl.ts +++ b/src/sql/workbench/api/node/sqlExtHost.api.impl.ts @@ -11,29 +11,29 @@ import { URI } from 'vs/base/common/uri'; import * as azdata from 'azdata'; import * as sqlops from 'sqlops'; import * as vscode from 'vscode'; -import { SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; -import { ExtHostAccountManagement } from 'sql/workbench/api/node/extHostAccountManagement'; -import { ExtHostCredentialManagement } from 'sql/workbench/api/node/extHostCredentialManagement'; -import { ExtHostDataProtocol } from 'sql/workbench/api/node/extHostDataProtocol'; -import { ExtHostSerializationProvider } from 'sql/workbench/api/node/extHostSerializationProvider'; -import { ExtHostResourceProvider } from 'sql/workbench/api/node/extHostResourceProvider'; +import { SqlExtHostContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; +import { ExtHostAccountManagement } from 'sql/workbench/api/common/extHostAccountManagement'; +import { ExtHostCredentialManagement } from 'sql/workbench/api/common/extHostCredentialManagement'; +import { ExtHostDataProtocol } from 'sql/workbench/api/common/extHostDataProtocol'; +import { ExtHostSerializationProvider } from 'sql/workbench/api/common/extHostSerializationProvider'; +import { ExtHostResourceProvider } from 'sql/workbench/api/common/extHostResourceProvider'; import * as sqlExtHostTypes from 'sql/workbench/api/common/sqlExtHostTypes'; -import { ExtHostModalDialogs } from 'sql/workbench/api/node/extHostModalDialog'; -import { ExtHostTasks } from 'sql/workbench/api/node/extHostTasks'; -import { ExtHostDashboardWebviews } from 'sql/workbench/api/node/extHostDashboardWebview'; -import { ExtHostModelView } from 'sql/workbench/api/node/extHostModelView'; -import { ExtHostConnectionManagement } from 'sql/workbench/api/node/extHostConnectionManagement'; -import { ExtHostDashboard } from 'sql/workbench/api/node/extHostDashboard'; -import { ExtHostObjectExplorer } from 'sql/workbench/api/node/extHostObjectExplorer'; +import { ExtHostModalDialogs } from 'sql/workbench/api/common/extHostModalDialog'; +import { ExtHostTasks } from 'sql/workbench/api/common/extHostTasks'; +import { ExtHostDashboardWebviews } from 'sql/workbench/api/common/extHostDashboardWebview'; +import { ExtHostModelView } from 'sql/workbench/api/common/extHostModelView'; +import { ExtHostConnectionManagement } from 'sql/workbench/api/common/extHostConnectionManagement'; +import { ExtHostDashboard } from 'sql/workbench/api/common/extHostDashboard'; +import { ExtHostObjectExplorer } from 'sql/workbench/api/common/extHostObjectExplorer'; import { ExtHostLogService } from 'vs/workbench/api/common/extHostLogService'; -import { ExtHostModelViewDialog } from 'sql/workbench/api/node/extHostModelViewDialog'; -import { ExtHostModelViewTreeViews } from 'sql/workbench/api/node/extHostModelViewTree'; -import { ExtHostQueryEditor } from 'sql/workbench/api/node/extHostQueryEditor'; -import { ExtHostBackgroundTaskManagement } from './extHostBackgroundTaskManagement'; -import { ExtHostNotebook } from 'sql/workbench/api/node/extHostNotebook'; -import { ExtHostNotebookDocumentsAndEditors } from 'sql/workbench/api/node/extHostNotebookDocumentsAndEditors'; +import { ExtHostModelViewDialog } from 'sql/workbench/api/common/extHostModelViewDialog'; +import { ExtHostModelViewTreeViews } from 'sql/workbench/api/common/extHostModelViewTree'; +import { ExtHostQueryEditor } from 'sql/workbench/api/common/extHostQueryEditor'; +import { ExtHostBackgroundTaskManagement } from 'sql/workbench/api/common/extHostBackgroundTaskManagement'; +import { ExtHostNotebook } from 'sql/workbench/api/common/extHostNotebook'; +import { ExtHostNotebookDocumentsAndEditors } from 'sql/workbench/api/common/extHostNotebookDocumentsAndEditors'; import { ExtensionDescriptionRegistry } from 'vs/workbench/services/extensions/common/extensionDescriptionRegistry'; -import { ExtHostExtensionManagement } from 'sql/workbench/api/node/extHostExtensionManagement'; +import { ExtHostExtensionManagement } from 'sql/workbench/api/common/extHostExtensionManagement'; import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensions/common/extensions'; import { TernarySearchTree } from 'vs/base/common/map'; import { ExtHostWorkspace } from 'vs/workbench/api/common/extHostWorkspace'; diff --git a/src/sql/workbench/browser/modal/modal.ts b/src/sql/workbench/browser/modal/modal.ts index 822e7a4e02..816066d861 100644 --- a/src/sql/workbench/browser/modal/modal.ts +++ b/src/sql/workbench/browser/modal/modal.ts @@ -16,8 +16,8 @@ import { IContextKeyService, RawContextKey, IContextKey } from 'vs/platform/cont import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { Button } from 'sql/base/browser/ui/button/button'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { localize } from 'vs/nls'; import { MessageLevel } from 'sql/workbench/api/common/sqlExtHostTypes'; import * as os from 'os'; diff --git a/src/sql/workbench/electron-browser/modelComponents/button.component.ts b/src/sql/workbench/browser/modelComponents/button.component.ts similarity index 96% rename from src/sql/workbench/electron-browser/modelComponents/button.component.ts rename to src/sql/workbench/browser/modelComponents/button.component.ts index da9405ed96..5eca249463 100644 --- a/src/sql/workbench/electron-browser/modelComponents/button.component.ts +++ b/src/sql/workbench/browser/modelComponents/button.component.ts @@ -10,8 +10,8 @@ import { import * as azdata from 'azdata'; -import { ComponentWithIconBase } from 'sql/workbench/electron-browser/modelComponents/componentWithIconBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentWithIconBase } from 'sql/workbench/browser/modelComponents/componentWithIconBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; import { SIDE_BAR_BACKGROUND, SIDE_BAR_TITLE_FOREGROUND } from 'vs/workbench/common/theme'; diff --git a/src/sql/workbench/electron-browser/modelComponents/card.component.html b/src/sql/workbench/browser/modelComponents/card.component.html similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/card.component.html rename to src/sql/workbench/browser/modelComponents/card.component.html diff --git a/src/sql/workbench/electron-browser/modelComponents/card.component.ts b/src/sql/workbench/browser/modelComponents/card.component.ts similarity index 94% rename from src/sql/workbench/electron-browser/modelComponents/card.component.ts rename to src/sql/workbench/browser/modelComponents/card.component.ts index 6437597e3c..22e0c9df31 100644 --- a/src/sql/workbench/electron-browser/modelComponents/card.component.ts +++ b/src/sql/workbench/browser/modelComponents/card.component.ts @@ -13,12 +13,12 @@ import * as azdata from 'azdata'; import * as colors from 'vs/platform/theme/common/colorRegistry'; import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; -import { ComponentWithIconBase } from 'sql/workbench/electron-browser/modelComponents/componentWithIconBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentWithIconBase } from 'sql/workbench/browser/modelComponents/componentWithIconBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { StatusIndicator, CardProperties, ActionDescriptor } from 'sql/workbench/api/common/sqlExtHostTypes'; @Component({ - templateUrl: decodeURI(require.toUrl('sql/workbench/electron-browser/modelComponents/card.component.html')) + templateUrl: decodeURI(require.toUrl('./card.component.html')) }) export default class CardComponent extends ComponentWithIconBase implements IComponent, OnDestroy { @Input() descriptor: IComponentDescriptor; diff --git a/src/sql/workbench/electron-browser/modelComponents/checkbox.component.ts b/src/sql/workbench/browser/modelComponents/checkbox.component.ts similarity index 92% rename from src/sql/workbench/electron-browser/modelComponents/checkbox.component.ts rename to src/sql/workbench/browser/modelComponents/checkbox.component.ts index 3cc6111a37..ae8d9825d9 100644 --- a/src/sql/workbench/electron-browser/modelComponents/checkbox.component.ts +++ b/src/sql/workbench/browser/modelComponents/checkbox.component.ts @@ -10,10 +10,10 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { Checkbox, ICheckboxOptions } from 'sql/base/browser/ui/checkbox/checkbox'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { attachCheckboxStyler } from 'sql/platform/theme/common/styler'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; diff --git a/src/sql/workbench/electron-browser/modelComponents/componentBase.ts b/src/sql/workbench/browser/modelComponents/componentBase.ts similarity index 97% rename from src/sql/workbench/electron-browser/modelComponents/componentBase.ts rename to src/sql/workbench/browser/modelComponents/componentBase.ts index b33ac39454..1e43cfd447 100644 --- a/src/sql/workbench/electron-browser/modelComponents/componentBase.ts +++ b/src/sql/workbench/browser/modelComponents/componentBase.ts @@ -10,11 +10,11 @@ import { import * as types from 'vs/base/common/types'; -import { IComponent, IComponentDescriptor, IModelStore, IComponentEventArgs, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore, IComponentEventArgs, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import * as azdata from 'azdata'; import { Emitter } from 'vs/base/common/event'; import { IDisposable, Disposable } from 'vs/base/common/lifecycle'; -import { ModelComponentWrapper } from 'sql/workbench/electron-browser/modelComponents/modelComponentWrapper.component'; +import { ModelComponentWrapper } from 'sql/workbench/browser/modelComponents/modelComponentWrapper.component'; import { URI } from 'vs/base/common/uri'; import * as nls from 'vs/nls'; diff --git a/src/sql/workbench/electron-browser/modelComponents/componentWithIconBase.ts b/src/sql/workbench/browser/modelComponents/componentWithIconBase.ts similarity index 94% rename from src/sql/workbench/electron-browser/modelComponents/componentWithIconBase.ts rename to src/sql/workbench/browser/modelComponents/componentWithIconBase.ts index db2420d70f..64d58b64f0 100644 --- a/src/sql/workbench/electron-browser/modelComponents/componentWithIconBase.ts +++ b/src/sql/workbench/browser/modelComponents/componentWithIconBase.ts @@ -5,12 +5,12 @@ import { ChangeDetectorRef, ElementRef } from '@angular/core'; -import { IComponentDescriptor } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponentDescriptor } from 'sql/workbench/browser/modelComponents/interfaces'; import * as azdata from 'azdata'; import { URI } from 'vs/base/common/uri'; import { IdGenerator } from 'vs/base/common/idGenerator'; import { createCSSRule, removeCSSRulesContainingSelector } from 'vs/base/browser/dom'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; export type IUserFriendlyIcon = string | URI | { light: string | URI; dark: string | URI }; diff --git a/src/sql/workbench/electron-browser/modelComponents/components.contribution.ts b/src/sql/workbench/browser/modelComponents/components.contribution.ts similarity index 92% rename from src/sql/workbench/electron-browser/modelComponents/components.contribution.ts rename to src/sql/workbench/browser/modelComponents/components.contribution.ts index cd96403c03..076b3b303d 100644 --- a/src/sql/workbench/electron-browser/modelComponents/components.contribution.ts +++ b/src/sql/workbench/browser/modelComponents/components.contribution.ts @@ -16,7 +16,7 @@ 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 WebViewComponent from '../../electron-browser/modelComponents/webview.component'; import TableComponent from './table.component'; import TextComponent from './text.component'; import LoadingComponent from './loadingComponent.component'; @@ -24,10 +24,10 @@ import FileBrowserTreeComponent from './fileBrowserTree.component'; import EditorComponent from './editor.component'; import DiffEditorComponent from './diffeditor.component'; import DomComponent from './dom.component'; -import { registerComponentType } from 'sql/platform/dashboard/common/modelComponentRegistry'; +import { registerComponentType } from 'sql/platform/dashboard/browser/modelComponentRegistry'; import { ModelComponentTypes } from 'sql/workbench/api/common/sqlExtHostTypes'; -import HyperlinkComponent from 'sql/workbench/electron-browser/modelComponents/hyperlink.component'; -import SplitViewContainer from 'sql/workbench/electron-browser/modelComponents/splitviewContainer.component'; +import HyperlinkComponent from 'sql/workbench/browser/modelComponents/hyperlink.component'; +import SplitViewContainer from 'sql/workbench/browser/modelComponents/splitviewContainer.component'; export const DIV_CONTAINER = 'div-container'; registerComponentType(DIV_CONTAINER, ModelComponentTypes.DivContainer, DivContainer); @@ -100,4 +100,4 @@ export const DOM_COMPONENT = 'dom-component'; registerComponentType(DOM_COMPONENT, ModelComponentTypes.Dom, DomComponent); export const HYPERLINK_COMPONENT = 'hyperlink-component'; -registerComponentType(HYPERLINK_COMPONENT, ModelComponentTypes.Hyperlink, HyperlinkComponent); \ No newline at end of file +registerComponentType(HYPERLINK_COMPONENT, ModelComponentTypes.Hyperlink, HyperlinkComponent); diff --git a/src/sql/workbench/electron-browser/modelComponents/declarativeTable.component.ts b/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts similarity index 97% rename from src/sql/workbench/electron-browser/modelComponents/declarativeTable.component.ts rename to src/sql/workbench/browser/modelComponents/declarativeTable.component.ts index a911a8007c..c92b769c07 100644 --- a/src/sql/workbench/electron-browser/modelComponents/declarativeTable.component.ts +++ b/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts @@ -11,8 +11,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { ISelectData } from 'vs/base/browser/ui/selectBox/selectBox'; export enum DeclarativeDataType { diff --git a/src/sql/workbench/electron-browser/modelComponents/diffeditor.component.ts b/src/sql/workbench/browser/modelComponents/diffeditor.component.ts similarity index 98% rename from src/sql/workbench/electron-browser/modelComponents/diffeditor.component.ts rename to src/sql/workbench/browser/modelComponents/diffeditor.component.ts index aee6198a5f..85cf98bfb7 100644 --- a/src/sql/workbench/electron-browser/modelComponents/diffeditor.component.ts +++ b/src/sql/workbench/browser/modelComponents/diffeditor.component.ts @@ -15,8 +15,8 @@ import { URI } from 'vs/base/common/uri'; import { IModeService } from 'vs/editor/common/services/modeService'; import { IModelService } from 'vs/editor/common/services/modelService'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { SimpleEditorProgressService } from 'vs/editor/standalone/browser/simpleServices'; import { IProgressService } from 'vs/platform/progress/common/progress'; diff --git a/src/sql/workbench/electron-browser/modelComponents/divContainer.component.ts b/src/sql/workbench/browser/modelComponents/divContainer.component.ts similarity index 96% rename from src/sql/workbench/electron-browser/modelComponents/divContainer.component.ts rename to src/sql/workbench/browser/modelComponents/divContainer.component.ts index 66b1fee441..e24fb5d489 100644 --- a/src/sql/workbench/electron-browser/modelComponents/divContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/divContainer.component.ts @@ -9,10 +9,10 @@ import { ViewChild, ElementRef, OnDestroy, } from '@angular/core'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import * as azdata from 'azdata'; -import { ContainerBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; +import { ContainerBase } from 'sql/workbench/browser/modelComponents/componentBase'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; diff --git a/src/sql/workbench/electron-browser/modelComponents/dom.component.ts b/src/sql/workbench/browser/modelComponents/dom.component.ts similarity index 94% rename from src/sql/workbench/electron-browser/modelComponents/dom.component.ts rename to src/sql/workbench/browser/modelComponents/dom.component.ts index 2df84b25a7..85e0f68302 100644 --- a/src/sql/workbench/electron-browser/modelComponents/dom.component.ts +++ b/src/sql/workbench/browser/modelComponents/dom.component.ts @@ -13,8 +13,8 @@ import { import * as azdata from 'azdata'; import * as DOM from 'vs/base/browser/dom'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; @Component({ template: '', diff --git a/src/sql/workbench/electron-browser/modelComponents/dropdown.component.ts b/src/sql/workbench/browser/modelComponents/dropdown.component.ts similarity index 97% rename from src/sql/workbench/electron-browser/modelComponents/dropdown.component.ts rename to src/sql/workbench/browser/modelComponents/dropdown.component.ts index 1d55c6ea0b..16754e4514 100644 --- a/src/sql/workbench/electron-browser/modelComponents/dropdown.component.ts +++ b/src/sql/workbench/browser/modelComponents/dropdown.component.ts @@ -10,8 +10,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { Dropdown, IDropdownOptions } from 'sql/base/parts/editableDropdown/browser/dropdown'; import { SelectBox } from 'sql/base/browser/ui/selectBox/selectBox'; import { attachEditableDropdownStyler } from 'sql/platform/theme/common/styler'; diff --git a/src/sql/workbench/electron-browser/modelComponents/editor.component.ts b/src/sql/workbench/browser/modelComponents/editor.component.ts similarity index 96% rename from src/sql/workbench/electron-browser/modelComponents/editor.component.ts rename to src/sql/workbench/browser/modelComponents/editor.component.ts index 914d53bc89..5ed9dbe41c 100644 --- a/src/sql/workbench/electron-browser/modelComponents/editor.component.ts +++ b/src/sql/workbench/browser/modelComponents/editor.component.ts @@ -17,9 +17,9 @@ import { Schemas } from 'vs/base/common/network'; import { IModeService } from 'vs/editor/common/services/modeService'; import { IModelService } from 'vs/editor/common/services/modelService'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; -import { QueryTextEditor } from 'sql/workbench/electron-browser/modelComponents/queryTextEditor'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; +import { QueryTextEditor } from 'sql/workbench/browser/modelComponents/queryTextEditor'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { SimpleEditorProgressService } from 'vs/editor/standalone/browser/simpleServices'; import { IProgressService } from 'vs/platform/progress/common/progress'; diff --git a/src/sql/workbench/electron-browser/modelComponents/fileBrowserTree.component.ts b/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts similarity index 96% rename from src/sql/workbench/electron-browser/modelComponents/fileBrowserTree.component.ts rename to src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts index 5fd0cebd7e..71435b808b 100644 --- a/src/sql/workbench/electron-browser/modelComponents/fileBrowserTree.component.ts +++ b/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts @@ -9,8 +9,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { FileBrowserViewModel } from 'sql/workbench/services/fileBrowser/common/fileBrowserViewModel'; import { FileNode } from 'sql/workbench/services/fileBrowser/common/fileNode'; diff --git a/src/sql/workbench/electron-browser/modelComponents/flexContainer.component.ts b/src/sql/workbench/browser/modelComponents/flexContainer.component.ts similarity index 95% rename from src/sql/workbench/electron-browser/modelComponents/flexContainer.component.ts rename to src/sql/workbench/browser/modelComponents/flexContainer.component.ts index 3faaaedc69..1d83ba62d5 100644 --- a/src/sql/workbench/electron-browser/modelComponents/flexContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/flexContainer.component.ts @@ -9,10 +9,10 @@ import { ElementRef, OnDestroy } from '@angular/core'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; import { FlexLayout, FlexItemLayout } from 'azdata'; -import { ContainerBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; +import { ContainerBase } from 'sql/workbench/browser/modelComponents/componentBase'; export class FlexItem { constructor(public descriptor: IComponentDescriptor, public config: FlexItemLayout) { } diff --git a/src/sql/workbench/electron-browser/modelComponents/formContainer.component.ts b/src/sql/workbench/browser/modelComponents/formContainer.component.ts similarity index 96% rename from src/sql/workbench/electron-browser/modelComponents/formContainer.component.ts rename to src/sql/workbench/browser/modelComponents/formContainer.component.ts index f87a920218..dfcb19fe81 100644 --- a/src/sql/workbench/electron-browser/modelComponents/formContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/formContainer.component.ts @@ -9,11 +9,11 @@ import { ViewChild, ElementRef, OnDestroy, AfterViewInit } from '@angular/core'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; import { FormLayout, FormItemLayout } from 'azdata'; -import { ContainerBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { ContainerBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; export interface TitledFormItemLayout { title: string; diff --git a/src/sql/workbench/electron-browser/modelComponents/groupContainer.component.ts b/src/sql/workbench/browser/modelComponents/groupContainer.component.ts similarity index 95% rename from src/sql/workbench/electron-browser/modelComponents/groupContainer.component.ts rename to src/sql/workbench/browser/modelComponents/groupContainer.component.ts index 81394ec522..f4ca77ac4e 100644 --- a/src/sql/workbench/electron-browser/modelComponents/groupContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/groupContainer.component.ts @@ -9,10 +9,10 @@ import { ViewChild, ElementRef, OnDestroy, AfterViewInit } from '@angular/core'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; import { GroupLayout } from 'azdata'; -import { ContainerBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; +import { ContainerBase } from 'sql/workbench/browser/modelComponents/componentBase'; @Component({ selector: 'modelview-groupContainer', diff --git a/src/sql/workbench/electron-browser/modelComponents/hyperlink.component.ts b/src/sql/workbench/browser/modelComponents/hyperlink.component.ts similarity index 92% rename from src/sql/workbench/electron-browser/modelComponents/hyperlink.component.ts rename to src/sql/workbench/browser/modelComponents/hyperlink.component.ts index 7d7408578d..90ef84f918 100644 --- a/src/sql/workbench/electron-browser/modelComponents/hyperlink.component.ts +++ b/src/sql/workbench/browser/modelComponents/hyperlink.component.ts @@ -10,8 +10,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; @Component({ selector: 'modelview-hyperlink', diff --git a/src/sql/workbench/electron-browser/modelComponents/inputbox.component.ts b/src/sql/workbench/browser/modelComponents/inputbox.component.ts similarity index 98% rename from src/sql/workbench/electron-browser/modelComponents/inputbox.component.ts rename to src/sql/workbench/browser/modelComponents/inputbox.component.ts index 59e4f9eca1..3c9ed84f39 100644 --- a/src/sql/workbench/electron-browser/modelComponents/inputbox.component.ts +++ b/src/sql/workbench/browser/modelComponents/inputbox.component.ts @@ -10,8 +10,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; import { attachInputBoxStyler } from 'sql/platform/theme/common/styler'; diff --git a/src/sql/workbench/electron-browser/modelComponents/interfaces.ts b/src/sql/workbench/browser/modelComponents/interfaces.ts similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/interfaces.ts rename to src/sql/workbench/browser/modelComponents/interfaces.ts diff --git a/src/sql/workbench/electron-browser/modelComponents/listbox.component.ts b/src/sql/workbench/browser/modelComponents/listbox.component.ts similarity index 95% rename from src/sql/workbench/electron-browser/modelComponents/listbox.component.ts rename to src/sql/workbench/browser/modelComponents/listbox.component.ts index 2ff76758e4..1ecf3d8b64 100644 --- a/src/sql/workbench/electron-browser/modelComponents/listbox.component.ts +++ b/src/sql/workbench/browser/modelComponents/listbox.component.ts @@ -10,8 +10,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { ListBox } from 'sql/base/browser/ui/listBox/listBox'; import { attachListBoxStyler } from 'sql/platform/theme/common/styler'; diff --git a/src/sql/workbench/electron-browser/modelComponents/loadingComponent.component.ts b/src/sql/workbench/browser/modelComponents/loadingComponent.component.ts similarity index 94% rename from src/sql/workbench/electron-browser/modelComponents/loadingComponent.component.ts rename to src/sql/workbench/browser/modelComponents/loadingComponent.component.ts index 29c26da6ea..3410b22814 100644 --- a/src/sql/workbench/electron-browser/modelComponents/loadingComponent.component.ts +++ b/src/sql/workbench/browser/modelComponents/loadingComponent.component.ts @@ -10,8 +10,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; import * as nls from 'vs/nls'; @Component({ diff --git a/src/sql/workbench/electron-browser/modelComponents/loadingSpinner.component.ts b/src/sql/workbench/browser/modelComponents/loadingSpinner.component.ts similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/loadingSpinner.component.ts rename to src/sql/workbench/browser/modelComponents/loadingSpinner.component.ts diff --git a/src/sql/workbench/electron-browser/modelComponents/media/button.css b/src/sql/workbench/browser/modelComponents/media/button.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/button.css rename to src/sql/workbench/browser/modelComponents/media/button.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/card.css b/src/sql/workbench/browser/modelComponents/media/card.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/card.css rename to src/sql/workbench/browser/modelComponents/media/card.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/collapsed.svg b/src/sql/workbench/browser/modelComponents/media/collapsed.svg similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/collapsed.svg rename to src/sql/workbench/browser/modelComponents/media/collapsed.svg diff --git a/src/sql/workbench/electron-browser/modelComponents/media/collapsed_inverse.svg b/src/sql/workbench/browser/modelComponents/media/collapsed_inverse.svg similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/collapsed_inverse.svg rename to src/sql/workbench/browser/modelComponents/media/collapsed_inverse.svg diff --git a/src/sql/workbench/electron-browser/modelComponents/media/declarativeTable.css b/src/sql/workbench/browser/modelComponents/media/declarativeTable.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/declarativeTable.css rename to src/sql/workbench/browser/modelComponents/media/declarativeTable.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/divContainer.css b/src/sql/workbench/browser/modelComponents/media/divContainer.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/divContainer.css rename to src/sql/workbench/browser/modelComponents/media/divContainer.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/dom.css b/src/sql/workbench/browser/modelComponents/media/dom.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/dom.css rename to src/sql/workbench/browser/modelComponents/media/dom.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/editor.css b/src/sql/workbench/browser/modelComponents/media/editor.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/editor.css rename to src/sql/workbench/browser/modelComponents/media/editor.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/expanded.svg b/src/sql/workbench/browser/modelComponents/media/expanded.svg similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/expanded.svg rename to src/sql/workbench/browser/modelComponents/media/expanded.svg diff --git a/src/sql/workbench/electron-browser/modelComponents/media/expanded_inverse.svg b/src/sql/workbench/browser/modelComponents/media/expanded_inverse.svg similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/expanded_inverse.svg rename to src/sql/workbench/browser/modelComponents/media/expanded_inverse.svg diff --git a/src/sql/workbench/electron-browser/modelComponents/media/flexContainer.css b/src/sql/workbench/browser/modelComponents/media/flexContainer.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/flexContainer.css rename to src/sql/workbench/browser/modelComponents/media/flexContainer.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/formLayout.css b/src/sql/workbench/browser/modelComponents/media/formLayout.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/formLayout.css rename to src/sql/workbench/browser/modelComponents/media/formLayout.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/groupLayout.css b/src/sql/workbench/browser/modelComponents/media/groupLayout.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/groupLayout.css rename to src/sql/workbench/browser/modelComponents/media/groupLayout.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/highlight.css b/src/sql/workbench/browser/modelComponents/media/highlight.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/highlight.css rename to src/sql/workbench/browser/modelComponents/media/highlight.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/loading.svg b/src/sql/workbench/browser/modelComponents/media/loading.svg similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/loading.svg rename to src/sql/workbench/browser/modelComponents/media/loading.svg diff --git a/src/sql/workbench/electron-browser/modelComponents/media/loadingComponent.css b/src/sql/workbench/browser/modelComponents/media/loadingComponent.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/loadingComponent.css rename to src/sql/workbench/browser/modelComponents/media/loadingComponent.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/loading_inverse.svg b/src/sql/workbench/browser/modelComponents/media/loading_inverse.svg similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/loading_inverse.svg rename to src/sql/workbench/browser/modelComponents/media/loading_inverse.svg diff --git a/src/sql/workbench/electron-browser/modelComponents/media/markdown.css b/src/sql/workbench/browser/modelComponents/media/markdown.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/markdown.css rename to src/sql/workbench/browser/modelComponents/media/markdown.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/modelViewContent.css b/src/sql/workbench/browser/modelComponents/media/modelViewContent.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/modelViewContent.css rename to src/sql/workbench/browser/modelComponents/media/modelViewContent.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/modelViewEditor.css b/src/sql/workbench/browser/modelComponents/media/modelViewEditor.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/modelViewEditor.css rename to src/sql/workbench/browser/modelComponents/media/modelViewEditor.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/radioButton.css b/src/sql/workbench/browser/modelComponents/media/radioButton.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/radioButton.css rename to src/sql/workbench/browser/modelComponents/media/radioButton.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/table.css b/src/sql/workbench/browser/modelComponents/media/table.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/table.css rename to src/sql/workbench/browser/modelComponents/media/table.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/toolbarLayout.css b/src/sql/workbench/browser/modelComponents/media/toolbarLayout.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/toolbarLayout.css rename to src/sql/workbench/browser/modelComponents/media/toolbarLayout.css diff --git a/src/sql/workbench/electron-browser/modelComponents/media/treeComponent.css b/src/sql/workbench/browser/modelComponents/media/treeComponent.css similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/media/treeComponent.css rename to src/sql/workbench/browser/modelComponents/media/treeComponent.css diff --git a/src/sql/workbench/electron-browser/modelComponents/modelComponentWrapper.component.ts b/src/sql/workbench/browser/modelComponents/modelComponentWrapper.component.ts similarity index 94% rename from src/sql/workbench/electron-browser/modelComponents/modelComponentWrapper.component.ts rename to src/sql/workbench/browser/modelComponents/modelComponentWrapper.component.ts index d4e2fb91eb..423f6fe6d0 100644 --- a/src/sql/workbench/electron-browser/modelComponents/modelComponentWrapper.component.ts +++ b/src/sql/workbench/browser/modelComponents/modelComponentWrapper.component.ts @@ -8,21 +8,21 @@ import { ElementRef, OnInit, ChangeDetectorRef, ReflectiveInjector, Injector, ComponentRef } from '@angular/core'; -import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/common/componentHost.directive'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/browser/core/componentHost.directive'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { IComponent, IComponentConfig, IComponentDescriptor, IModelStore, COMPONENT_CONFIG } from './interfaces'; -import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/common/modelComponentRegistry'; +import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/browser/modelComponentRegistry'; import * as colors from 'vs/platform/theme/common/colorRegistry'; import * as themeColors from 'vs/workbench/common/theme'; import { Registry } from 'vs/platform/registry/common/platform'; import { memoize } from 'vs/base/common/decorators'; import { generateUuid } from 'vs/base/common/uuid'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; import { Event } from 'vs/base/common/event'; -import { LayoutRequestParams } from 'sql/platform/dialog/dialogContainer.component'; +import { LayoutRequestParams } from 'sql/platform/dialog/browser/dialogContainer.component'; import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; +import { IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; const componentRegistry = Registry.as(Extensions.ComponentContribution); diff --git a/src/sql/workbench/electron-browser/modelComponents/modelStore.ts b/src/sql/workbench/browser/modelComponents/modelStore.ts similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/modelStore.ts rename to src/sql/workbench/browser/modelComponents/modelStore.ts diff --git a/src/sql/workbench/electron-browser/modelComponents/modelViewContent.component.ts b/src/sql/workbench/browser/modelComponents/modelViewContent.component.ts similarity index 94% rename from src/sql/workbench/electron-browser/modelComponents/modelViewContent.component.ts rename to src/sql/workbench/browser/modelComponents/modelViewContent.component.ts index c91a2565a6..aa2001369c 100644 --- a/src/sql/workbench/electron-browser/modelComponents/modelViewContent.component.ts +++ b/src/sql/workbench/browser/modelComponents/modelViewContent.component.ts @@ -10,9 +10,9 @@ import { IDisposable } from 'vs/base/common/lifecycle'; import { addDisposableListener, EventType } from 'vs/base/browser/dom'; import { memoize } from 'vs/base/common/decorators'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IModelView } from 'sql/platform/model/common/modelViewService'; -import { ViewBase } from 'sql/workbench/electron-browser/modelComponents/viewBase'; +import { ViewBase } from 'sql/workbench/browser/modelComponents/viewBase'; import { IModelViewService } from 'sql/platform/modelComponents/common/modelViewService'; import * as azdata from 'azdata'; diff --git a/src/sql/workbench/electron-browser/modelComponents/modelViewEditor.contribution.ts b/src/sql/workbench/browser/modelComponents/modelViewEditor.contribution.ts similarity index 80% rename from src/sql/workbench/electron-browser/modelComponents/modelViewEditor.contribution.ts rename to src/sql/workbench/browser/modelComponents/modelViewEditor.contribution.ts index f768691652..6408ee00ab 100644 --- a/src/sql/workbench/electron-browser/modelComponents/modelViewEditor.contribution.ts +++ b/src/sql/workbench/browser/modelComponents/modelViewEditor.contribution.ts @@ -6,8 +6,8 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { EditorDescriptor, IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/browser/editor'; import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; -import { ModelViewInput } from 'sql/workbench/electron-browser/modelComponents/modelViewInput'; -import { ModelViewEditor } from 'sql/workbench/electron-browser/modelComponents/modelViewEditor'; +import { ModelViewInput } from 'sql/workbench/browser/modelComponents/modelViewInput'; +import { ModelViewEditor } from 'sql/workbench/browser/modelComponents/modelViewEditor'; // Model View editor registration const viewModelEditorDescriptor = new EditorDescriptor( @@ -17,4 +17,4 @@ const viewModelEditorDescriptor = new EditorDescriptor( ); Registry.as(EditorExtensions.Editors) - .registerEditor(viewModelEditorDescriptor, [new SyncDescriptor(ModelViewInput)]); \ No newline at end of file + .registerEditor(viewModelEditorDescriptor, [new SyncDescriptor(ModelViewInput)]); diff --git a/src/sql/workbench/electron-browser/modelComponents/modelViewEditor.ts b/src/sql/workbench/browser/modelComponents/modelViewEditor.ts similarity index 97% rename from src/sql/workbench/electron-browser/modelComponents/modelViewEditor.ts rename to src/sql/workbench/browser/modelComponents/modelViewEditor.ts index c9a8a36071..33c4b220ff 100644 --- a/src/sql/workbench/electron-browser/modelComponents/modelViewEditor.ts +++ b/src/sql/workbench/browser/modelComponents/modelViewEditor.ts @@ -10,7 +10,7 @@ import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { EditorOptions } from 'vs/workbench/common/editor'; import * as DOM from 'vs/base/browser/dom'; -import { ModelViewInput } from 'sql/workbench/electron-browser/modelComponents/modelViewInput'; +import { ModelViewInput } from 'sql/workbench/browser/modelComponents/modelViewInput'; import { CancellationToken } from 'vs/base/common/cancellation'; import { IStorageService } from 'vs/platform/storage/common/storage'; diff --git a/src/sql/workbench/electron-browser/modelComponents/modelViewInput.ts b/src/sql/workbench/browser/modelComponents/modelViewInput.ts similarity index 98% rename from src/sql/workbench/electron-browser/modelComponents/modelViewInput.ts rename to src/sql/workbench/browser/modelComponents/modelViewInput.ts index 6faa0cd2b2..06b1f4313a 100644 --- a/src/sql/workbench/electron-browser/modelComponents/modelViewInput.ts +++ b/src/sql/workbench/browser/modelComponents/modelViewInput.ts @@ -10,7 +10,7 @@ import { EditorInput, EditorModel, ConfirmResult } from 'vs/workbench/common/edi import * as DOM from 'vs/base/browser/dom'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { DialogPane } from 'sql/platform/dialog/dialogPane'; +import { DialogPane } from 'sql/platform/dialog/browser/dialogPane'; import { Emitter, Event } from 'vs/base/common/event'; import { IWorkbenchLayoutService, Parts } from 'vs/workbench/services/layout/browser/layoutService'; import { IThemeService } from 'vs/platform/theme/common/themeService'; diff --git a/src/sql/workbench/electron-browser/modelComponents/queryTextEditor.ts b/src/sql/workbench/browser/modelComponents/queryTextEditor.ts similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/queryTextEditor.ts rename to src/sql/workbench/browser/modelComponents/queryTextEditor.ts diff --git a/src/sql/workbench/electron-browser/modelComponents/radioButton.component.ts b/src/sql/workbench/browser/modelComponents/radioButton.component.ts similarity index 95% rename from src/sql/workbench/electron-browser/modelComponents/radioButton.component.ts rename to src/sql/workbench/browser/modelComponents/radioButton.component.ts index da0d78a869..4ba35e49a0 100644 --- a/src/sql/workbench/electron-browser/modelComponents/radioButton.component.ts +++ b/src/sql/workbench/browser/modelComponents/radioButton.component.ts @@ -11,8 +11,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { RadioButton } from 'sql/base/browser/ui/radioButton/radioButton'; @Component({ diff --git a/src/sql/workbench/electron-browser/modelComponents/splitviewContainer.component.ts b/src/sql/workbench/browser/modelComponents/splitviewContainer.component.ts similarity index 97% rename from src/sql/workbench/electron-browser/modelComponents/splitviewContainer.component.ts rename to src/sql/workbench/browser/modelComponents/splitviewContainer.component.ts index 5544548161..167917dbff 100644 --- a/src/sql/workbench/electron-browser/modelComponents/splitviewContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/splitviewContainer.component.ts @@ -6,10 +6,10 @@ import 'vs/css!./media/flexContainer'; import { Component, Input, Inject, ChangeDetectorRef, forwardRef, ElementRef, OnDestroy } from '@angular/core'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; import { FlexItemLayout, SplitViewLayout } from 'azdata'; import { FlexItem } from './flexContainer.component'; -import { ContainerBase, ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; +import { ContainerBase, ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; import { Event } from 'vs/base/common/event'; import { SplitView, Orientation, Sizing, IView } from 'vs/base/browser/ui/splitview/splitview'; diff --git a/src/sql/workbench/electron-browser/modelComponents/table.component.ts b/src/sql/workbench/browser/modelComponents/table.component.ts similarity index 97% rename from src/sql/workbench/electron-browser/modelComponents/table.component.ts rename to src/sql/workbench/browser/modelComponents/table.component.ts index 876142a67f..981e82cc6e 100644 --- a/src/sql/workbench/electron-browser/modelComponents/table.component.ts +++ b/src/sql/workbench/browser/modelComponents/table.component.ts @@ -11,8 +11,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { Table } from 'sql/base/browser/ui/table/table'; import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; diff --git a/src/sql/workbench/electron-browser/modelComponents/text.component.ts b/src/sql/workbench/browser/modelComponents/text.component.ts similarity index 94% rename from src/sql/workbench/electron-browser/modelComponents/text.component.ts rename to src/sql/workbench/browser/modelComponents/text.component.ts index 234f01021f..6f4159de2d 100644 --- a/src/sql/workbench/electron-browser/modelComponents/text.component.ts +++ b/src/sql/workbench/browser/modelComponents/text.component.ts @@ -11,8 +11,8 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; import { SafeHtml, DomSanitizer } from '@angular/platform-browser'; @Component({ diff --git a/src/sql/workbench/electron-browser/modelComponents/toolbarContainer.component.ts b/src/sql/workbench/browser/modelComponents/toolbarContainer.component.ts similarity index 93% rename from src/sql/workbench/electron-browser/modelComponents/toolbarContainer.component.ts rename to src/sql/workbench/browser/modelComponents/toolbarContainer.component.ts index 0f84c8d704..395a5eb17f 100644 --- a/src/sql/workbench/electron-browser/modelComponents/toolbarContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/toolbarContainer.component.ts @@ -11,10 +11,10 @@ import { import { Orientation, ToolbarLayout } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; -import { ContainerBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { ContainerBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; export interface ToolbarItemConfig { title?: string; diff --git a/src/sql/workbench/electron-browser/modelComponents/tree.component.ts b/src/sql/workbench/browser/modelComponents/tree.component.ts similarity index 90% rename from src/sql/workbench/electron-browser/modelComponents/tree.component.ts rename to src/sql/workbench/browser/modelComponents/tree.component.ts index 366180562f..0a61dfb8db 100644 --- a/src/sql/workbench/electron-browser/modelComponents/tree.component.ts +++ b/src/sql/workbench/browser/modelComponents/tree.component.ts @@ -11,19 +11,19 @@ import { import * as azdata from 'azdata'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore } from 'sql/workbench/browser/modelComponents/interfaces'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { TreeComponentRenderer } from 'sql/workbench/electron-browser/modelComponents/treeComponentRenderer'; -import { TreeComponentDataSource } from 'sql/workbench/electron-browser/modelComponents/treeDataSource'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { TreeComponentRenderer } from 'sql/workbench/browser/modelComponents/treeComponentRenderer'; +import { TreeComponentDataSource } from 'sql/workbench/browser/modelComponents/treeDataSource'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IContextViewService } from 'vs/platform/contextview/browser/contextView'; import { attachListStyler } from 'vs/platform/theme/common/styler'; import { DefaultFilter, DefaultAccessibilityProvider, DefaultController } from 'vs/base/parts/tree/browser/treeDefaults'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ITreeComponentItem } from 'sql/workbench/common/views'; -import { TreeViewDataProvider } from 'sql/workbench/electron-browser/modelComponents/treeViewDataProvider'; +import { TreeViewDataProvider } from 'sql/workbench/browser/modelComponents/treeViewDataProvider'; import { getContentHeight, getContentWidth } from 'vs/base/browser/dom'; class Root implements ITreeComponentItem { diff --git a/src/sql/workbench/electron-browser/modelComponents/treeComponentRenderer.ts b/src/sql/workbench/browser/modelComponents/treeComponentRenderer.ts similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/treeComponentRenderer.ts rename to src/sql/workbench/browser/modelComponents/treeComponentRenderer.ts diff --git a/src/sql/workbench/electron-browser/modelComponents/treeDataSource.ts b/src/sql/workbench/browser/modelComponents/treeDataSource.ts similarity index 100% rename from src/sql/workbench/electron-browser/modelComponents/treeDataSource.ts rename to src/sql/workbench/browser/modelComponents/treeDataSource.ts diff --git a/src/sql/workbench/electron-browser/modelComponents/treeViewDataProvider.ts b/src/sql/workbench/browser/modelComponents/treeViewDataProvider.ts similarity index 96% rename from src/sql/workbench/electron-browser/modelComponents/treeViewDataProvider.ts rename to src/sql/workbench/browser/modelComponents/treeViewDataProvider.ts index d9ed70a1fc..b1568c8bd0 100644 --- a/src/sql/workbench/electron-browser/modelComponents/treeViewDataProvider.ts +++ b/src/sql/workbench/browser/modelComponents/treeViewDataProvider.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ExtHostModelViewTreeViewsShape, SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostModelViewTreeViewsShape, SqlExtHostContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; 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'; diff --git a/src/sql/workbench/electron-browser/modelComponents/viewBase.ts b/src/sql/workbench/browser/modelComponents/viewBase.ts similarity index 96% rename from src/sql/workbench/electron-browser/modelComponents/viewBase.ts rename to src/sql/workbench/browser/modelComponents/viewBase.ts index 46c51e4014..93271d78c9 100644 --- a/src/sql/workbench/electron-browser/modelComponents/viewBase.ts +++ b/src/sql/workbench/browser/modelComponents/viewBase.ts @@ -12,9 +12,9 @@ import * as azdata from 'azdata'; import { IModelStore, IComponentDescriptor, IComponent } from './interfaces'; import { IItemConfig, ModelComponentTypes, IComponentShape } from 'sql/workbench/api/common/sqlExtHostTypes'; import { IModelView, IModelViewEventArgs } from 'sql/platform/model/common/modelViewService'; -import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/common/modelComponentRegistry'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; -import { ModelStore } from 'sql/workbench/electron-browser/modelComponents/modelStore'; +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'; const componentRegistry = Registry.as(Extensions.ComponentContribution); @@ -145,4 +145,4 @@ export abstract class ViewBase extends AngularDisposable implements IModelView { public setDataProvider(handle: number, componentId: string, context: any): any { return this.queueAction(componentId, (component) => component.setDataProvider(handle, componentId, context)); } -} \ No newline at end of file +} diff --git a/src/sql/workbench/common/actions.ts b/src/sql/workbench/common/actions.ts index d4967e1b8e..f034050055 100644 --- a/src/sql/workbench/common/actions.ts +++ b/src/sql/workbench/common/actions.ts @@ -7,15 +7,14 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/con import * as TaskUtilities from 'sql/workbench/common/taskUtilities'; import { IQueryEditorService } from 'sql/workbench/services/queryEditor/common/queryEditorService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { IInsightsConfig } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import { IScriptingService } from 'sql/platform/scripting/common/scriptingService'; import { IRestoreDialogController } from 'sql/platform/restore/common/restoreService'; import { IAngularEventingService, AngularEventType } from 'sql/platform/angularEventing/common/angularEventingService'; -import { IInsightsDialogService } from 'sql/workbench/services/insights/common/insightsDialogService'; -import { Task } from 'sql/platform/tasks/common/tasks'; +import { IInsightsDialogService } from 'sql/workbench/services/insights/browser/insightsDialogService'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/common/objectExplorerService'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; import { IBackupUiService } from 'sql/workbench/services/backup/common/backupUiService'; +import { Task } from 'sql/platform/tasks/browser/tasksRegistry'; import { ObjectMetadata } from 'azdata'; @@ -27,6 +26,7 @@ import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation import { INotificationService } from 'vs/platform/notification/common/notification'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; +import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry'; export interface BaseActionContext { object?: ObjectMetadata; diff --git a/src/sql/workbench/common/customInputConverter.ts b/src/sql/workbench/common/customInputConverter.ts index d034a29628..31ce881554 100644 --- a/src/sql/workbench/common/customInputConverter.ts +++ b/src/sql/workbench/common/customInputConverter.ts @@ -12,7 +12,7 @@ import { QueryResultsInput } from 'sql/workbench/parts/query/common/queryResults import { QueryInput } from 'sql/workbench/parts/query/common/queryInput'; import { IQueryEditorOptions } from 'sql/workbench/services/queryEditor/common/queryEditorService'; import { QueryPlanInput } from 'sql/workbench/parts/queryPlan/common/queryPlanInput'; -import { NotebookInput } from 'sql/workbench/parts/notebook/notebookInput'; +import { NotebookInput } from 'sql/workbench/parts/notebook/node/notebookInput'; import { INotebookService } from 'sql/workbench/services/notebook/common/notebookService'; import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput'; import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; diff --git a/src/sql/workbench/electron-browser/enablePreviewFeatures.ts b/src/sql/workbench/common/enablePreviewFeatures.ts similarity index 100% rename from src/sql/workbench/electron-browser/enablePreviewFeatures.ts rename to src/sql/workbench/common/enablePreviewFeatures.ts diff --git a/src/sql/workbench/common/taskUtilities.ts b/src/sql/workbench/common/taskUtilities.ts index 5b53f3e857..a8bb1e3db8 100644 --- a/src/sql/workbench/common/taskUtilities.ts +++ b/src/sql/workbench/common/taskUtilities.ts @@ -15,12 +15,11 @@ import { IQueryEditorService } from 'sql/workbench/services/queryEditor/common/q import { IScriptingService } from 'sql/platform/scripting/common/scriptingService'; import { EditDataInput } from 'sql/workbench/parts/editData/common/editDataInput'; import { IRestoreDialogController } from 'sql/platform/restore/common/restoreService'; -import { IInsightsConfig } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { IInsightsDialogService } from 'sql/workbench/services/insights/common/insightsDialogService'; +import { IInsightsDialogService } from 'sql/workbench/services/insights/browser/insightsDialogService'; import { ConnectionManagementInfo } from 'sql/platform/connection/common/connectionManagementInfo'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/common/objectExplorerService'; import { QueryInput } from 'sql/workbench/parts/query/common/queryInput'; -import { DashboardInput } from 'sql/workbench/parts/dashboard/dashboardInput'; +import { DashboardInput } from 'sql/workbench/parts/dashboard/common/dashboardInput'; import { ProfilerInput } from 'sql/workbench/parts/profiler/browser/profilerInput'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; import { IBackupUiService } from 'sql/workbench/services/backup/common/backupUiService'; @@ -31,6 +30,7 @@ import Severity from 'vs/base/common/severity'; import * as nls from 'vs/nls'; import * as path from 'vs/base/common/path'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; +import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry'; // map for the version of SQL Server (default is 140) const scriptCompatibilityOptionMap = { diff --git a/src/sql/workbench/electron-browser/modelComponents/webview.component.ts b/src/sql/workbench/electron-browser/modelComponents/webview.component.ts index 37c588fbdd..1a48ee2d9f 100644 --- a/src/sql/workbench/electron-browser/modelComponents/webview.component.ts +++ b/src/sql/workbench/electron-browser/modelComponents/webview.component.ts @@ -14,8 +14,8 @@ import { URI, UriComponents } from 'vs/base/common/uri'; import { IOpenerService } from 'vs/platform/opener/common/opener'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; -import { ComponentBase } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { WebviewElement } from 'vs/workbench/contrib/webview/electron-browser/webviewElement'; diff --git a/src/sql/workbench/parts/backup/electron-browser/backup.component.html b/src/sql/workbench/parts/backup/browser/backup.component.html similarity index 100% rename from src/sql/workbench/parts/backup/electron-browser/backup.component.html rename to src/sql/workbench/parts/backup/browser/backup.component.html diff --git a/src/sql/workbench/parts/backup/electron-browser/backup.component.ts b/src/sql/workbench/parts/backup/browser/backup.component.ts similarity index 99% rename from src/sql/workbench/parts/backup/electron-browser/backup.component.ts rename to src/sql/workbench/parts/backup/browser/backup.component.ts index 4000d3aa77..d63cda67a9 100644 --- a/src/sql/workbench/parts/backup/electron-browser/backup.component.ts +++ b/src/sql/workbench/parts/backup/browser/backup.component.ts @@ -112,7 +112,7 @@ const LocalizedStrings = { @Component({ selector: BACKUP_SELECTOR, - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/backup/electron-browser/backup.component.html')) + templateUrl: decodeURI(require.toUrl('./backup.component.html')) }) export class BackupComponent { @ViewChild('pathContainer', { read: ElementRef }) pathElement; diff --git a/src/sql/workbench/parts/backup/electron-browser/backup.module.ts b/src/sql/workbench/parts/backup/browser/backup.module.ts similarity index 87% rename from src/sql/workbench/parts/backup/electron-browser/backup.module.ts rename to src/sql/workbench/parts/backup/browser/backup.module.ts index 1c9fc98f4a..3d6c8b987b 100644 --- a/src/sql/workbench/parts/backup/electron-browser/backup.module.ts +++ b/src/sql/workbench/parts/backup/browser/backup.module.ts @@ -11,10 +11,11 @@ import { APP_BASE_HREF, CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; -import { IBootstrapParams, ISelector, providerIterator } from 'sql/platform/bootstrap/node/bootstrapService'; -import { BackupComponent } from 'sql/workbench/parts/backup/electron-browser/backup.component'; +import { providerIterator } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { BackupComponent } from 'sql/workbench/parts/backup/browser/backup.component'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; +import { IBootstrapParams, ISelector } from 'sql/platform/bootstrap/common/bootstrapParams'; // work around const BrowserAnimationsModule = (require.__$__nodeRequire('@angular/platform-browser/animations')).BrowserAnimationsModule; diff --git a/src/sql/workbench/parts/backup/electron-browser/backupDialog.ts b/src/sql/workbench/parts/backup/browser/backupDialog.ts similarity index 90% rename from src/sql/workbench/parts/backup/electron-browser/backupDialog.ts rename to src/sql/workbench/parts/backup/browser/backupDialog.ts index 0581eb0d75..cb1d719b21 100644 --- a/src/sql/workbench/parts/backup/electron-browser/backupDialog.ts +++ b/src/sql/workbench/parts/backup/browser/backupDialog.ts @@ -5,16 +5,16 @@ import { Modal } from 'sql/workbench/browser/modal/modal'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { BackupModule } from 'sql/workbench/parts/backup/electron-browser/backup.module'; -import { BACKUP_SELECTOR } from 'sql/workbench/parts/backup/electron-browser/backup.component'; +import { BackupModule } from 'sql/workbench/parts/backup/browser/backup.module'; +import { BACKUP_SELECTOR } from 'sql/workbench/parts/backup/browser/backup.component'; import { attachModalDialogStyler } from 'sql/platform/theme/common/styler'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { append, $ } from 'vs/base/browser/dom'; import { ILogService } from 'vs/platform/log/common/log'; diff --git a/src/sql/workbench/parts/backup/electron-browser/media/backupDialog.css b/src/sql/workbench/parts/backup/browser/media/backupDialog.css similarity index 100% rename from src/sql/workbench/parts/backup/electron-browser/media/backupDialog.css rename to src/sql/workbench/parts/backup/browser/media/backupDialog.css diff --git a/src/sql/workbench/parts/charts/browser/actions.ts b/src/sql/workbench/parts/charts/browser/actions.ts index ae40b0d7da..59c184b552 100644 --- a/src/sql/workbench/parts/charts/browser/actions.ts +++ b/src/sql/workbench/parts/charts/browser/actions.ts @@ -3,10 +3,9 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInsightOptions, IInsight } from './interfaces'; +import { IInsight } from './interfaces'; import { Graph } from './graphInsight'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; -import { IInsightsConfig } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import { resolveCurrentDirectory, getRootPath } from 'sql/platform/common/pathUtilities'; import { localize } from 'vs/nls'; @@ -20,6 +19,8 @@ import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { QueryInput } from 'sql/workbench/parts/query/common/queryInput'; +import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry'; +import { IInsightOptions } from 'sql/workbench/parts/charts/common/interfaces'; export interface IChartActionContext { options: IInsightOptions; diff --git a/src/sql/workbench/parts/charts/browser/chartOptions.ts b/src/sql/workbench/parts/charts/browser/chartOptions.ts index de35e8dd5d..111bf3b7cd 100644 --- a/src/sql/workbench/parts/charts/browser/chartOptions.ts +++ b/src/sql/workbench/parts/charts/browser/chartOptions.ts @@ -6,9 +6,8 @@ import { localize } from 'vs/nls'; import { Registry } from 'vs/platform/registry/common/platform'; -import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/common/insightRegistry'; -import { InsightType, IInsightOptions } from './interfaces'; -import { DataDirection, ChartType, LegendPosition, DataType } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/browser/insightRegistry'; +import { IInsightOptions, DataDirection, DataType, LegendPosition, ChartType, InsightType } from 'sql/workbench/parts/charts/common/interfaces'; const insightRegistry = Registry.as(Extensions.InsightContribution); diff --git a/src/sql/workbench/parts/charts/browser/chartView.ts b/src/sql/workbench/parts/charts/browser/chartView.ts index 7b92a5e8c4..3cc7c6ab79 100644 --- a/src/sql/workbench/parts/charts/browser/chartView.ts +++ b/src/sql/workbench/parts/charts/browser/chartView.ts @@ -9,8 +9,8 @@ import { IPanelView } from 'sql/base/browser/ui/panel/panel'; import { Insight } from './insight'; import QueryRunner from 'sql/platform/query/common/queryRunner'; import { ChartOptions, IChartOption, ControlType } from './chartOptions'; -import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/common/insightRegistry'; -import { IInsightOptions } from './interfaces'; +import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/browser/insightRegistry'; +import { IInsightData } from './interfaces'; import { Registry } from 'vs/platform/registry/common/platform'; import * as DOM from 'vs/base/browser/dom'; import { SelectBox } from 'sql/base/browser/ui/selectBox/selectBox'; @@ -21,22 +21,10 @@ import { attachSelectBoxStyler, attachInputBoxStyler } from 'vs/platform/theme/c import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { isUndefinedOrNull } from 'vs/base/common/types'; -import { ChartType } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; -import { IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import { CreateInsightAction, CopyAction, SaveImageAction, IChartActionContext } from 'sql/workbench/parts/charts/browser/actions'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; import { Checkbox } from 'sql/base/browser/ui/checkbox/checkbox'; - -export class ChartState { - dataId: { batchId: number, resultId: number }; - options: IInsightOptions = { - type: ChartType.Bar - }; - - dispose() { - - } -} +import { ChartState, IInsightOptions, ChartType } from 'sql/workbench/parts/charts/common/interfaces'; declare class Proxy { constructor(object, handler); diff --git a/src/sql/workbench/parts/charts/browser/countInsight.ts b/src/sql/workbench/parts/charts/browser/countInsight.ts index a40431ae9f..2236989254 100644 --- a/src/sql/workbench/parts/charts/browser/countInsight.ts +++ b/src/sql/workbench/parts/charts/browser/countInsight.ts @@ -5,10 +5,10 @@ import 'vs/css!./media/countInsight'; -import { IInsight, InsightType } from './interfaces'; -import { IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; +import { IInsight, IInsightData } from './interfaces'; import { $, clearNode } from 'vs/base/browser/dom'; +import { InsightType } from 'sql/workbench/parts/charts/common/interfaces'; export class CountInsight implements IInsight { public options; diff --git a/src/sql/workbench/parts/charts/browser/graphInsight.ts b/src/sql/workbench/parts/charts/browser/graphInsight.ts index 582527beec..0207bba41d 100644 --- a/src/sql/workbench/parts/charts/browser/graphInsight.ts +++ b/src/sql/workbench/parts/charts/browser/graphInsight.ts @@ -11,9 +11,8 @@ import * as colors from 'vs/platform/theme/common/colorRegistry'; import { editorLineNumbers } from 'vs/editor/common/view/editorColorRegistry'; import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService'; -import { IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { IInsightOptions, IInsight } from './interfaces'; -import { ChartType, DataDirection, LegendPosition, DataType, IPointDataSet, customMixin } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +import { IInsight, IInsightData, IPointDataSet, customMixin } from './interfaces'; +import { IInsightOptions, DataDirection, ChartType, LegendPosition, DataType } from 'sql/workbench/parts/charts/common/interfaces'; const noneLineGraphs = [ChartType.Doughnut, ChartType.Pie]; diff --git a/src/sql/workbench/parts/charts/browser/imageInsight.ts b/src/sql/workbench/parts/charts/browser/imageInsight.ts index 266b7874b9..92658eae23 100644 --- a/src/sql/workbench/parts/charts/browser/imageInsight.ts +++ b/src/sql/workbench/parts/charts/browser/imageInsight.ts @@ -3,11 +3,11 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInsight, IInsightOptions, InsightType } from './interfaces'; -import { IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; +import { IInsight, IInsightData } from './interfaces'; import { $ } from 'vs/base/browser/dom'; import { mixin } from 'vs/base/common/objects'; +import { IInsightOptions, InsightType } from 'sql/workbench/parts/charts/common/interfaces'; export interface IConfig extends IInsightOptions { encoding?: string; diff --git a/src/sql/workbench/parts/charts/browser/insight.ts b/src/sql/workbench/parts/charts/browser/insight.ts index 35a2df0bf9..27704d3a76 100644 --- a/src/sql/workbench/parts/charts/browser/insight.ts +++ b/src/sql/workbench/parts/charts/browser/insight.ts @@ -4,16 +4,15 @@ *--------------------------------------------------------------------------------------------*/ import { Graph } from './graphInsight'; -import { IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { DataDirection, ChartType } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; import { ImageInsight } from './imageInsight'; import { TableInsight } from './tableInsight'; -import { IInsightOptions, IInsight, InsightType, IInsightCtor } from './interfaces'; +import { IInsight, IInsightCtor, IInsightData } from './interfaces'; import { CountInsight } from './countInsight'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { Dimension, clearNode } from 'vs/base/browser/dom'; import { deepClone } from 'vs/base/common/objects'; +import { IInsightOptions, ChartType, DataDirection, InsightType } from 'sql/workbench/parts/charts/common/interfaces'; const defaultOptions: IInsightOptions = { type: ChartType.Bar, diff --git a/src/sql/workbench/parts/charts/browser/interfaces.ts b/src/sql/workbench/parts/charts/browser/interfaces.ts index 43e61f5dc4..02dad03f7d 100644 --- a/src/sql/workbench/parts/charts/browser/interfaces.ts +++ b/src/sql/workbench/parts/charts/browser/interfaces.ts @@ -4,25 +4,38 @@ *--------------------------------------------------------------------------------------------*/ import { Dimension } from 'vs/base/browser/dom'; +import { mixin } from 'sql/base/common/objects'; +import * as types from 'vs/base/common/types'; +import { Color } from 'vs/base/common/color'; +import { IInsightOptions, InsightType, ChartType } from 'sql/workbench/parts/charts/common/interfaces'; -import { IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { DataDirection, ChartType, LegendPosition, DataType } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +export interface IPointDataSet { + data: Array<{ x: number | string, y: number }>; + label?: string; + fill: boolean; + backgroundColor?: Color; +} -export interface IInsightOptions { - type: InsightType | ChartType; - dataDirection?: DataDirection; - dataType?: DataType; - labelFirstColumn?: boolean; - columnsAsLabels?: boolean; - legendPosition?: LegendPosition; - yAxisLabel?: string; - yAxisMin?: number; - yAxisMax?: number; - xAxisLabel?: string; - xAxisMin?: number; - xAxisMax?: number; - encoding?: string; - imageFormat?: string; +export function customMixin(destination: any, source: any, overwrite?: boolean): any { + if (types.isObject(source)) { + mixin(destination, source, overwrite, customMixin); + } else if (types.isArray(source)) { + for (let i = 0; i < source.length; i++) { + if (destination[i]) { + mixin(destination[i], source[i], overwrite, customMixin); + } else { + destination[i] = source[i]; + } + } + } else { + destination = source; + } + return destination; +} + +export interface IInsightData { + columns: Array; + rows: Array>; } export interface IInsight { @@ -37,9 +50,3 @@ export interface IInsightCtor { new(container: HTMLElement, options: IInsightOptions, ...services: { _serviceBrand: any; }[]): IInsight; readonly types: Array; } - -export enum InsightType { - Image = 'image', - Table = 'table', - Count = 'count' -} diff --git a/src/sql/workbench/parts/charts/browser/tableInsight.ts b/src/sql/workbench/parts/charts/browser/tableInsight.ts index f8484846b3..97114a318f 100644 --- a/src/sql/workbench/parts/charts/browser/tableInsight.ts +++ b/src/sql/workbench/parts/charts/browser/tableInsight.ts @@ -3,8 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInsight, InsightType } from './interfaces'; -import { IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; +import { IInsight, IInsightData } from './interfaces'; import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; import { Table } from 'sql/base/browser/ui/table/table'; import { attachTableStyler } from 'sql/platform/theme/common/styler'; @@ -13,6 +12,7 @@ import { CellSelectionModel } from 'sql/base/browser/ui/table/plugins/cellSelect import { $, Dimension } from 'vs/base/browser/dom'; import { Disposable } from 'vs/base/common/lifecycle'; import { IThemeService } from 'vs/platform/theme/common/themeService'; +import { InsightType } from 'sql/workbench/parts/charts/common/interfaces'; export class TableInsight extends Disposable implements IInsight { public static readonly types = [InsightType.Table]; diff --git a/src/sql/workbench/parts/charts/common/interfaces.ts b/src/sql/workbench/parts/charts/common/interfaces.ts new file mode 100644 index 0000000000..2a15ffaf9a --- /dev/null +++ b/src/sql/workbench/parts/charts/common/interfaces.ts @@ -0,0 +1,66 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export class ChartState { + dataId: { batchId: number, resultId: number }; + options: IInsightOptions = { + type: ChartType.Bar + }; + + dispose() { + + } +} + +export interface IInsightOptions { + type: InsightType | ChartType; + dataDirection?: DataDirection; + dataType?: DataType; + labelFirstColumn?: boolean; + columnsAsLabels?: boolean; + legendPosition?: LegendPosition; + yAxisLabel?: string; + yAxisMin?: number; + yAxisMax?: number; + xAxisLabel?: string; + xAxisMin?: number; + xAxisMax?: number; + encoding?: string; + imageFormat?: string; +} + +export enum InsightType { + Image = 'image', + Table = 'table', + Count = 'count' +} + +export enum ChartType { + Bar = 'bar', + Doughnut = 'doughnut', + HorizontalBar = 'horizontalBar', + Line = 'line', + Pie = 'pie', + TimeSeries = 'timeSeries', + Scatter = 'scatter' +} + +export enum LegendPosition { + Top = 'top', + Bottom = 'bottom', + Left = 'left', + Right = 'right', + None = 'none' +} + +export enum DataType { + Number = 'number', + Point = 'point' +} + +export enum DataDirection { + Vertical = 'vertical', + Horizontal = 'horizontal' +} diff --git a/src/sql/workbench/parts/connection/browser/advancedPropertiesController.ts b/src/sql/workbench/parts/connection/browser/advancedPropertiesController.ts index 17fccb21bb..5d100572bf 100644 --- a/src/sql/workbench/parts/connection/browser/advancedPropertiesController.ts +++ b/src/sql/workbench/parts/connection/browser/advancedPropertiesController.ts @@ -7,7 +7,7 @@ import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import * as azdata from 'azdata'; import { localize } from 'vs/nls'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; export class AdvancedPropertiesController { private _advancedDialog: OptionsDialog; diff --git a/src/sql/workbench/parts/connection/common/connectionActions.ts b/src/sql/workbench/parts/connection/common/connectionActions.ts index c77ab652f0..6d990a0a96 100644 --- a/src/sql/workbench/parts/connection/common/connectionActions.ts +++ b/src/sql/workbench/parts/connection/common/connectionActions.ts @@ -14,7 +14,7 @@ import { IDialogService, IConfirmation, IConfirmationResult } from 'vs/platform/ import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { QueryInput } from 'sql/workbench/parts/query/common/queryInput'; import { EditDataInput } from 'sql/workbench/parts/editData/common/editDataInput'; -import { DashboardInput } from 'sql/workbench/parts/dashboard/dashboardInput'; +import { DashboardInput } from 'sql/workbench/parts/dashboard/common/dashboardInput'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/common/objectExplorerService'; diff --git a/src/sqltest/parts/connection/advancedPropertiesDialog.test.ts b/src/sql/workbench/parts/connection/test/browser/advancedPropertiesDialog.test.ts similarity index 94% rename from src/sqltest/parts/connection/advancedPropertiesDialog.test.ts rename to src/sql/workbench/parts/connection/test/browser/advancedPropertiesDialog.test.ts index 47c4447b42..156d1f562d 100644 --- a/src/sqltest/parts/connection/advancedPropertiesDialog.test.ts +++ b/src/sql/workbench/parts/connection/test/browser/advancedPropertiesDialog.test.ts @@ -5,12 +5,11 @@ import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog'; import { AdvancedPropertiesController } from 'sql/workbench/parts/connection/browser/advancedPropertiesController'; -import { ContextKeyServiceStub } from 'sqltest/stubs/contextKeyServiceStub'; import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; import { ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { $ } from 'vs/base/browser/dom'; +import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; suite('Advanced properties dialog tests', () => { let advancedController: AdvancedPropertiesController; @@ -94,7 +93,7 @@ suite('Advanced properties dialog tests', () => { undefined, // Context view service undefined, // instantiation Service undefined, // telemetry service - new ContextKeyServiceStub() // contextkeyservice + new MockContextKeyService() // contextkeyservice ); advanceDialog.setup(x => x.open(TypeMoq.It.isAny(), TypeMoq.It.isAny())).callback(() => { isAdvancedDialogCalled = true; diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardContainer.contribution.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardContainer.contribution.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/containers/dashboardContainer.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardContainer.contribution.ts index 1ceb9c34bb..7943d7197c 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardContainer.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardContainer.contribution.ts @@ -8,10 +8,10 @@ import { IJSONSchema } from 'vs/base/common/jsonSchema'; import { localize } from 'vs/nls'; import { registerContainer, generateContainerTypeSchemaProperties } from 'sql/platform/dashboard/common/dashboardContainerRegistry'; -import { NAV_SECTION, validateNavSectionContributionAndRegisterIcon } from 'sql/workbench/parts/dashboard/containers/dashboardNavSection.contribution'; -import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution'; -import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution'; -import { WEBVIEW_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.contribution'; +import { NAV_SECTION, validateNavSectionContributionAndRegisterIcon } from 'sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution'; +import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution'; +import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution'; +import { WEBVIEW_CONTAINER } from 'sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.contribution'; const containerTypes = [ WIDGETS_CONTAINER, diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.component.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.component.ts similarity index 85% rename from src/sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.component.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.component.ts index 49f9b5b49b..b884b06c86 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.component.ts @@ -9,10 +9,10 @@ import { Component, forwardRef, Input, AfterContentInit, ViewChild, OnChanges } import { Event, Emitter } from 'vs/base/common/event'; -import { DashboardTab } from 'sql/workbench/parts/dashboard/common/interfaces'; -import { TabConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { ControlHostContent } from 'sql/workbench/parts/dashboard/contents/controlHostContent.component'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { DashboardTab } from 'sql/workbench/parts/dashboard/browser/core/interfaces'; +import { TabConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { ControlHostContent } from 'sql/workbench/parts/dashboard/browser/contents/controlHostContent.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; @Component({ selector: 'dashboard-controlhost-container', diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.contribution.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.contribution.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.contribution.ts diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.css b/src/sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.css similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.css rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.css diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardErrorContainer.component.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.component.ts similarity index 88% rename from src/sql/workbench/parts/dashboard/containers/dashboardErrorContainer.component.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.component.ts index 97e90fd826..b99ccf7359 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardErrorContainer.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.component.ts @@ -7,9 +7,9 @@ import 'vs/css!./dashboardErrorContainer'; import { Component, Inject, Input, forwardRef, ViewChild, ElementRef, ChangeDetectorRef, AfterViewInit } from '@angular/core'; -import { TabConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { DashboardTab } from 'sql/workbench/parts/dashboard/common/interfaces'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { TabConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { DashboardTab } from 'sql/workbench/parts/dashboard/browser/core/interfaces'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { Event, Emitter } from 'vs/base/common/event'; import * as nls from 'vs/nls'; diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardErrorContainer.css b/src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.css similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardErrorContainer.css rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.css diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.component.html b/src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.component.html rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.component.html diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.component.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.component.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.component.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.component.ts index 4dfbdb09c4..90611b949d 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.component.ts @@ -7,16 +7,16 @@ import 'vs/css!./dashboardGridContainer'; import { Component, Inject, Input, forwardRef, ElementRef, ViewChildren, QueryList, OnDestroy, ChangeDetectorRef, ContentChild } from '@angular/core'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { TabConfig, WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { DashboardWidgetWrapper } from 'sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component'; -import { DashboardTab } from 'sql/workbench/parts/dashboard/common/interfaces'; -import { WebviewContent } from 'sql/workbench/parts/dashboard/contents/webviewContent.component'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { TabConfig, WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { DashboardWidgetWrapper } from 'sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component'; +import { DashboardTab } from 'sql/workbench/parts/dashboard/browser/core/interfaces'; +import { WebviewContent } from 'sql/workbench/parts/dashboard/electron-browser/contents/webviewContent.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { Event, Emitter } from 'vs/base/common/event'; -import { ScrollableDirective } from 'sql/base/electron-browser/ui/scrollable/scrollable.directive'; import { ScrollbarVisibility } from 'vs/editor/common/standalone/standaloneEnums'; +import { ScrollableDirective } from 'sql/base/browser/ui/scrollable/scrollable.directive'; export interface GridCellConfig { id?: string; @@ -44,7 +44,7 @@ export interface GridModelViewConfig extends GridCellConfig { @Component({ selector: 'dashboard-grid-container', - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/containers/dashboardGridContainer.component.html')), + templateUrl: decodeURI(require.toUrl('./dashboardGridContainer.component.html')), providers: [{ provide: TabChild, useExisting: forwardRef(() => DashboardGridContainer) }] }) export class DashboardGridContainer extends DashboardTab implements OnDestroy { diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution.ts similarity index 96% rename from src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution.ts index 02fb3b3a63..ad2f87baad 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution.ts @@ -7,7 +7,7 @@ import { IExtensionPointUser } from 'vs/workbench/services/extensions/common/ext import { IJSONSchema } from 'vs/base/common/jsonSchema'; import * as nls from 'vs/nls'; -import { generateDashboardGridLayoutSchema } from 'sql/workbench/parts/dashboard/pages/dashboardPageContribution'; +import { generateDashboardGridLayoutSchema } from 'sql/workbench/parts/dashboard/browser/pages/dashboardPageContribution'; import { registerContainerType, registerNavSectionContainerType } from 'sql/platform/dashboard/common/dashboardContainerRegistry'; export const GRID_CONTAINER = 'grid-container'; diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.css b/src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.css similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardGridContainer.css rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.css diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardHomeContainer.component.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardHomeContainer.component.ts similarity index 86% rename from src/sql/workbench/parts/dashboard/containers/dashboardHomeContainer.component.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardHomeContainer.component.ts index 97ddfdb2d0..92e7cb12f4 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardHomeContainer.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardHomeContainer.component.ts @@ -7,14 +7,14 @@ import 'vs/css!./dashboardHomeContainer'; import { Component, forwardRef, Input, ChangeDetectorRef, Inject, ViewChild, ContentChild } from '@angular/core'; -import { DashboardWidgetContainer } from 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.component'; -import { WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { DashboardWidgetContainer } from 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.component'; +import { WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { AngularEventType, IAngularEventingService } from 'sql/platform/angularEventing/common/angularEventingService'; -import { DashboardWidgetWrapper } from 'sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component'; -import { ScrollableDirective } from 'sql/base/electron-browser/ui/scrollable/scrollable.directive'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { DashboardWidgetWrapper } from 'sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component'; +import { ScrollableDirective } from 'sql/base/browser/ui/scrollable/scrollable.directive'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { ConfigurationTarget, IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ScrollbarVisibility } from 'vs/editor/common/standalone/standaloneEnums'; diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardHomeContainer.css b/src/sql/workbench/parts/dashboard/browser/containers/dashboardHomeContainer.css similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardHomeContainer.css rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardHomeContainer.css diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.component.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.component.ts similarity index 78% rename from src/sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.component.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.component.ts index 6933a0ad45..dbc56e2c99 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.component.ts @@ -3,16 +3,14 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!./dashboardWebviewContainer'; - import { Component, forwardRef, Input, AfterContentInit, ViewChild } from '@angular/core'; import { Event, Emitter } from 'vs/base/common/event'; -import { DashboardTab } from 'sql/workbench/parts/dashboard/common/interfaces'; -import { TabConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { ModelViewContent } from 'sql/workbench/electron-browser/modelComponents/modelViewContent.component'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { DashboardTab } from 'sql/workbench/parts/dashboard/browser/core/interfaces'; +import { TabConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { ModelViewContent } from 'sql/workbench/browser/modelComponents/modelViewContent.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; @Component({ selector: 'dashboard-modelview-container', diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.contribution.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.contribution.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.contribution.ts diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.css b/src/sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.css similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.css rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.css diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardNavSection.component.html b/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardNavSection.component.html rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.component.html diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardNavSection.component.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.component.ts similarity index 90% rename from src/sql/workbench/parts/dashboard/containers/dashboardNavSection.component.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.component.ts index 76a376e448..d3e69884e4 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardNavSection.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.component.ts @@ -7,14 +7,14 @@ import 'vs/css!./dashboardNavSection'; import { Component, Inject, Input, forwardRef, ViewChild, ElementRef, ViewChildren, QueryList, OnDestroy, ChangeDetectorRef, OnChanges, AfterContentInit } from '@angular/core'; -import { CommonServiceInterface, SingleConnectionManagementService } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { WidgetConfig, TabConfig, NavSectionConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { PanelComponent, IPanelOptions, NavigationBarLayout } from 'sql/base/electron-browser/ui/panel/panel.component'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; -import { DashboardTab, IConfigModifierCollection } from 'sql/workbench/parts/dashboard/common/interfaces'; -import { WIDGETS_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution'; -import { GRID_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution'; -import * as dashboardHelper from 'sql/workbench/parts/dashboard/common/dashboardHelper'; +import { CommonServiceInterface, SingleConnectionManagementService } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { WidgetConfig, TabConfig, NavSectionConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { PanelComponent, IPanelOptions, NavigationBarLayout } from 'sql/base/browser/ui/panel/panel.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; +import { DashboardTab, IConfigModifierCollection } from 'sql/workbench/parts/dashboard/browser/core/interfaces'; +import { WIDGETS_CONTAINER } from 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution'; +import { GRID_CONTAINER } from 'sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution'; +import * as dashboardHelper from 'sql/workbench/parts/dashboard/browser/core/dashboardHelper'; import { Event, Emitter } from 'vs/base/common/event'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; @@ -23,7 +23,7 @@ import { ILogService } from 'vs/platform/log/common/log'; @Component({ selector: 'dashboard-nav-section', providers: [{ provide: TabChild, useExisting: forwardRef(() => DashboardNavSection) }], - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/containers/dashboardNavSection.component.html')) + templateUrl: decodeURI(require.toUrl('./dashboardNavSection.component.html')) }) export class DashboardNavSection extends DashboardTab implements OnDestroy, OnChanges, AfterContentInit, IConfigModifierCollection { @Input() private tab: TabConfig; diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardNavSection.contribution.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution.ts similarity index 95% rename from src/sql/workbench/parts/dashboard/containers/dashboardNavSection.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution.ts index 9fbf4aed64..da49d6c86a 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardNavSection.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution.ts @@ -11,10 +11,10 @@ import { createCSSRule } from 'vs/base/browser/dom'; import { URI } from 'vs/base/common/uri'; import { IdGenerator } from 'vs/base/common/idGenerator'; -import { NavSectionConfig, IUserFriendlyIcon } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; +import { NavSectionConfig, IUserFriendlyIcon } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; import { registerContainerType, generateNavSectionContainerTypeSchemaProperties } from 'sql/platform/dashboard/common/dashboardContainerRegistry'; -import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution'; -import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution'; +import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution'; +import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution'; export const NAV_SECTION = 'nav-section'; diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardNavSection.css b/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.css similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardNavSection.css rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.css diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.component.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.component.ts similarity index 87% rename from src/sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.component.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.component.ts index 2d45c3d2cb..cdf116bba9 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.component.ts @@ -7,10 +7,10 @@ import 'vs/css!./dashboardWidgetContainer'; import { Component, Inject, Input, forwardRef, ViewChild, OnDestroy, ChangeDetectorRef, AfterContentInit } from '@angular/core'; -import { TabConfig, WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { DashboardTab } from 'sql/workbench/parts/dashboard/common/interfaces'; -import { WidgetContent } from 'sql/workbench/parts/dashboard/contents/widgetContent.component'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { TabConfig, WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { DashboardTab } from 'sql/workbench/parts/dashboard/browser/core/interfaces'; +import { WidgetContent } from 'sql/workbench/parts/dashboard/browser/contents/widgetContent.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { Event, Emitter } from 'vs/base/common/event'; diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution.ts similarity index 96% rename from src/sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution.ts index ab7a3cf9e2..ce1215ffec 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution.ts @@ -7,7 +7,7 @@ import { IExtensionPointUser } from 'vs/workbench/services/extensions/common/ext import { IJSONSchema } from 'vs/base/common/jsonSchema'; import * as nls from 'vs/nls'; -import { generateDashboardWidgetSchema } from 'sql/workbench/parts/dashboard/pages/dashboardPageContribution'; +import { generateDashboardWidgetSchema } from 'sql/workbench/parts/dashboard/browser/pages/dashboardPageContribution'; import { registerContainerType, registerNavSectionContainerType } from 'sql/platform/dashboard/common/dashboardContainerRegistry'; export const WIDGETS_CONTAINER = 'widgets-container'; diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.css b/src/sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.css similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.css rename to src/sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.css diff --git a/src/sql/workbench/parts/dashboard/contents/controlHostContent.component.html b/src/sql/workbench/parts/dashboard/browser/contents/controlHostContent.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/contents/controlHostContent.component.html rename to src/sql/workbench/parts/dashboard/browser/contents/controlHostContent.component.html diff --git a/src/sql/workbench/parts/dashboard/contents/controlHostContent.component.ts b/src/sql/workbench/parts/dashboard/browser/contents/controlHostContent.component.ts similarity index 88% rename from src/sql/workbench/parts/dashboard/contents/controlHostContent.component.ts rename to src/sql/workbench/parts/dashboard/browser/contents/controlHostContent.component.ts index 7c00f1d3a3..2c8a949463 100644 --- a/src/sql/workbench/parts/dashboard/contents/controlHostContent.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/contents/controlHostContent.component.ts @@ -9,14 +9,14 @@ import { Component, forwardRef, Input, OnInit, Inject, ChangeDetectorRef, Elemen import { Event, Emitter } from 'vs/base/common/event'; import { IDisposable } from 'vs/base/common/lifecycle'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import * as azdata from 'azdata'; import { memoize } from 'vs/base/common/decorators'; -import { AgentViewComponent } from '../../jobManagement/electron-browser/agentView.component'; +import { AgentViewComponent } from '../../../jobManagement/browser/agentView.component'; @Component({ - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/contents/controlHostContent.component.html')), + templateUrl: decodeURI(require.toUrl('./controlHostContent.component.html')), selector: 'controlhost-content' }) export class ControlHostContent { diff --git a/src/sql/workbench/parts/dashboard/contents/controlHostContent.css b/src/sql/workbench/parts/dashboard/browser/contents/controlHostContent.css similarity index 100% rename from src/sql/workbench/parts/dashboard/contents/controlHostContent.css rename to src/sql/workbench/parts/dashboard/browser/contents/controlHostContent.css diff --git a/src/sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component.html b/src/sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component.html rename to src/sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component.html diff --git a/src/sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component.ts b/src/sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component.ts similarity index 90% rename from src/sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component.ts rename to src/sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component.ts index b3c109b306..c3d2fc3014 100644 --- a/src/sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component.ts @@ -11,20 +11,20 @@ import { ElementRef, OnInit, ChangeDetectorRef, ReflectiveInjector, Injector, Type, ComponentRef } from '@angular/core'; -import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/common/componentHost.directive'; -import { WidgetConfig, WIDGET_CONFIG, IDashboardWidget } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/common/insightRegistry'; -import { RefreshWidgetAction, ToggleMoreWidgetAction, DeleteWidgetAction, CollapseWidgetAction } from 'sql/workbench/parts/dashboard/common/actions'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/browser/core/componentHost.directive'; +import { WidgetConfig, WIDGET_CONFIG, IDashboardWidget } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/browser/insightRegistry'; +import { RefreshWidgetAction, ToggleMoreWidgetAction, DeleteWidgetAction, CollapseWidgetAction } from 'sql/workbench/parts/dashboard/browser/core/actions'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; /* Widgets */ -import { PropertiesWidgetComponent } from 'sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component'; -import { ExplorerWidget } from 'sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.component'; -import { TasksWidget } from 'sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.component'; -import { InsightsWidget } from 'sql/workbench/parts/dashboard/widgets/insights/insightsWidget.component'; -import { WebviewWidget } from 'sql/workbench/parts/dashboard/widgets/webview/webviewWidget.component'; +import { PropertiesWidgetComponent } from 'sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component'; +import { ExplorerWidget } from 'sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.component'; +import { TasksWidget } from 'sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.component'; +import { InsightsWidget } from 'sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.component'; +import { WebviewWidget } from 'sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.component'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import * as colors from 'vs/platform/theme/common/colorRegistry'; @@ -47,7 +47,7 @@ const componentMap: { [x: string]: Type } = { @Component({ selector: 'dashboard-widget-wrapper', - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component.html')) + templateUrl: decodeURI(require.toUrl('./dashboardWidgetWrapper.component.html')) }) export class DashboardWidgetWrapper extends AngularDisposable implements OnInit { @Input() private _config: WidgetConfig; diff --git a/src/sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.css b/src/sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.css similarity index 100% rename from src/sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.css rename to src/sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.css diff --git a/src/sql/workbench/parts/dashboard/contents/widgetContent.component.html b/src/sql/workbench/parts/dashboard/browser/contents/widgetContent.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/contents/widgetContent.component.html rename to src/sql/workbench/parts/dashboard/browser/contents/widgetContent.component.html diff --git a/src/sql/workbench/parts/dashboard/contents/widgetContent.component.ts b/src/sql/workbench/parts/dashboard/browser/contents/widgetContent.component.ts similarity index 96% rename from src/sql/workbench/parts/dashboard/contents/widgetContent.component.ts rename to src/sql/workbench/parts/dashboard/browser/contents/widgetContent.component.ts index 82c8c68f75..83c74d6c99 100644 --- a/src/sql/workbench/parts/dashboard/contents/widgetContent.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/contents/widgetContent.component.ts @@ -8,11 +8,11 @@ import 'vs/css!./widgetContent'; import { Component, Inject, Input, forwardRef, ViewChild, ViewChildren, QueryList, ChangeDetectorRef, ElementRef, AfterViewInit } from '@angular/core'; import { NgGridConfig, NgGrid, NgGridItem } from 'angular2-grid'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { DashboardWidgetWrapper } from 'sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component'; -import { subscriptionToDisposable, AngularDisposable } from 'sql/base/node/lifecycle'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { DashboardWidgetWrapper } from 'sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component'; +import { subscriptionToDisposable, AngularDisposable } from 'sql/base/browser/lifecycle'; import { IDisposable } from 'vs/base/common/lifecycle'; import { ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; @@ -69,7 +69,7 @@ function configSorter(a, b): number { @Component({ selector: 'widget-content', - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/contents/widgetContent.component.html')) + templateUrl: decodeURI(require.toUrl('./widgetContent.component.html')) }) export class WidgetContent extends AngularDisposable implements AfterViewInit { @Input() private widgets: WidgetConfig[]; diff --git a/src/sql/workbench/parts/dashboard/contents/widgetContent.css b/src/sql/workbench/parts/dashboard/browser/contents/widgetContent.css similarity index 100% rename from src/sql/workbench/parts/dashboard/contents/widgetContent.css rename to src/sql/workbench/parts/dashboard/browser/contents/widgetContent.css diff --git a/src/sql/workbench/parts/dashboard/common/actions.ts b/src/sql/workbench/parts/dashboard/browser/core/actions.ts similarity index 96% rename from src/sql/workbench/parts/dashboard/common/actions.ts rename to src/sql/workbench/parts/dashboard/browser/core/actions.ts index 2365f7d9e0..629991609e 100644 --- a/src/sql/workbench/parts/dashboard/common/actions.ts +++ b/src/sql/workbench/parts/dashboard/browser/core/actions.ts @@ -10,9 +10,9 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { IDisposable } from 'vs/base/common/lifecycle'; import { IAngularEventingService, AngularEventType, IAngularEvent } from 'sql/platform/angularEventing/common/angularEventingService'; -import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/common/newDashboardTabDialog'; -import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry'; -import { toDisposableSubscription } from 'sql/base/node/rxjsUtils'; +import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog'; +import { IDashboardTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; +import { subscriptionToDisposable } from 'sql/base/browser/lifecycle'; export class EditDashboardAction extends Action { @@ -167,7 +167,7 @@ export class AddFeatureTabAction extends Action { @IAngularEventingService private _angularEventService: IAngularEventingService ) { super(AddFeatureTabAction.ID, AddFeatureTabAction.LABEL, AddFeatureTabAction.ICON); - this._disposables.push(toDisposableSubscription(this._angularEventService.onAngularEvent(this._uri, (event) => this.handleDashboardEvent(event)))); + this._disposables.push(subscriptionToDisposable(this._angularEventService.onAngularEvent(this._uri, (event) => this.handleDashboardEvent(event)))); } run(): Promise { diff --git a/src/sql/workbench/parts/dashboard/common/componentHost.directive.ts b/src/sql/workbench/parts/dashboard/browser/core/componentHost.directive.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/common/componentHost.directive.ts rename to src/sql/workbench/parts/dashboard/browser/core/componentHost.directive.ts diff --git a/src/sql/workbench/parts/dashboard/common/dashboardHelper.ts b/src/sql/workbench/parts/dashboard/browser/core/dashboardHelper.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/common/dashboardHelper.ts rename to src/sql/workbench/parts/dashboard/browser/core/dashboardHelper.ts index edd7d5d110..6b0a562d31 100644 --- a/src/sql/workbench/parts/dashboard/common/dashboardHelper.ts +++ b/src/sql/workbench/parts/dashboard/browser/core/dashboardHelper.ts @@ -9,18 +9,18 @@ import { Registry } from 'vs/platform/registry/common/platform'; import * as nls from 'vs/nls'; import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; -import { WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/common/insightRegistry'; +import { WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/browser/insightRegistry'; import { ConnectionManagementInfo } from 'sql/platform/connection/common/connectionManagementInfo'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { WIDGETS_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution'; -import { GRID_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution'; -import { WEBVIEW_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.contribution'; -import { MODELVIEW_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.contribution'; -import { CONTROLHOST_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.contribution'; -import { NAV_SECTION } from 'sql/workbench/parts/dashboard/containers/dashboardNavSection.contribution'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { WIDGETS_CONTAINER } from 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution'; +import { GRID_CONTAINER } from 'sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution'; +import { WEBVIEW_CONTAINER } from 'sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.contribution'; +import { MODELVIEW_CONTAINER } from 'sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.contribution'; +import { CONTROLHOST_CONTAINER } from 'sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.contribution'; +import { NAV_SECTION } from 'sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution'; import { IDashboardContainerRegistry, Extensions as DashboardContainerExtensions } from 'sql/platform/dashboard/common/dashboardContainerRegistry'; -import { SingleConnectionManagementService } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { SingleConnectionManagementService } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import * as Constants from 'sql/platform/connection/common/constants'; import { ILogService } from 'vs/platform/log/common/log'; diff --git a/src/sql/workbench/parts/dashboard/common/dashboardPage.component.html b/src/sql/workbench/parts/dashboard/browser/core/dashboardPage.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/common/dashboardPage.component.html rename to src/sql/workbench/parts/dashboard/browser/core/dashboardPage.component.html diff --git a/src/sql/workbench/parts/dashboard/common/dashboardPage.component.ts b/src/sql/workbench/parts/dashboard/browser/core/dashboardPage.component.ts similarity index 93% rename from src/sql/workbench/parts/dashboard/common/dashboardPage.component.ts rename to src/sql/workbench/parts/dashboard/browser/core/dashboardPage.component.ts index b4dd11a2b7..685a815195 100644 --- a/src/sql/workbench/parts/dashboard/common/dashboardPage.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/core/dashboardPage.component.ts @@ -3,25 +3,25 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!sql/workbench/parts/dashboard/common/dashboardPage'; -import 'sql/workbench/parts/dashboard/common/dashboardPanelStyles'; +import 'vs/css!./dashboardPage'; +import 'sql/workbench/parts/dashboard/browser/core/dashboardPanelStyles'; import { Component, Inject, forwardRef, ViewChild, ElementRef, ViewChildren, QueryList, ChangeDetectorRef } from '@angular/core'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { CommonServiceInterface, SingleConnectionManagementService } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { WidgetConfig, TabConfig, TabSettingConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { IPropertiesConfig } from 'sql/workbench/parts/dashboard/pages/serverDashboardPage.contribution'; -import { PanelComponent } from 'sql/base/electron-browser/ui/panel/panel.component'; -import { IDashboardRegistry, Extensions as DashboardExtensions, IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { CommonServiceInterface, SingleConnectionManagementService } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { WidgetConfig, TabConfig, TabSettingConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { IPropertiesConfig } from 'sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.contribution'; +import { PanelComponent } from 'sql/base/browser/ui/panel/panel.component'; +import { IDashboardRegistry, Extensions as DashboardExtensions, IDashboardTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; import { PinUnpinTabAction, AddFeatureTabAction } from './actions'; -import { TabComponent, TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { TabComponent, TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { AngularEventType, IAngularEventingService } from 'sql/platform/angularEventing/common/angularEventingService'; -import { DashboardTab, IConfigModifierCollection } from 'sql/workbench/parts/dashboard/common/interfaces'; -import * as dashboardHelper from 'sql/workbench/parts/dashboard/common/dashboardHelper'; -import { WIDGETS_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution'; -import { GRID_CONTAINER } from 'sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { DashboardTab, IConfigModifierCollection } from 'sql/workbench/parts/dashboard/browser/core/interfaces'; +import * as dashboardHelper from 'sql/workbench/parts/dashboard/browser/core/dashboardHelper'; +import { WIDGETS_CONTAINER } from 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution'; +import { GRID_CONTAINER } from 'sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import * as Constants from 'sql/platform/connection/common/constants'; import { Registry } from 'vs/platform/registry/common/platform'; @@ -42,7 +42,7 @@ const dashboardRegistry = Registry.as(DashboardExtensions.Da @Component({ selector: 'dashboard-page', - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/common/dashboardPage.component.html')) + templateUrl: decodeURI(require.toUrl('./dashboardPage.component.html')) }) export abstract class DashboardPage extends AngularDisposable implements IConfigModifierCollection { diff --git a/src/sql/workbench/parts/dashboard/common/dashboardPage.css b/src/sql/workbench/parts/dashboard/browser/core/dashboardPage.css similarity index 100% rename from src/sql/workbench/parts/dashboard/common/dashboardPage.css rename to src/sql/workbench/parts/dashboard/browser/core/dashboardPage.css diff --git a/src/sql/workbench/parts/dashboard/common/dashboardPanel.css b/src/sql/workbench/parts/dashboard/browser/core/dashboardPanel.css similarity index 100% rename from src/sql/workbench/parts/dashboard/common/dashboardPanel.css rename to src/sql/workbench/parts/dashboard/browser/core/dashboardPanel.css diff --git a/src/sql/workbench/parts/dashboard/common/dashboardPanelStyles.ts b/src/sql/workbench/parts/dashboard/browser/core/dashboardPanelStyles.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/common/dashboardPanelStyles.ts rename to src/sql/workbench/parts/dashboard/browser/core/dashboardPanelStyles.ts diff --git a/src/sql/workbench/parts/dashboard/common/dashboardTab.contribution.ts b/src/sql/workbench/parts/dashboard/browser/core/dashboardTab.contribution.ts similarity index 93% rename from src/sql/workbench/parts/dashboard/common/dashboardTab.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/core/dashboardTab.contribution.ts index af06d7cc14..c6eab6783a 100644 --- a/src/sql/workbench/parts/dashboard/common/dashboardTab.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/core/dashboardTab.contribution.ts @@ -9,11 +9,11 @@ import { localize } from 'vs/nls'; import * as types from 'vs/base/common/types'; import * as Constants from 'sql/platform/connection/common/constants'; -import { registerTab } from 'sql/platform/dashboard/common/dashboardRegistry'; +import { registerTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; import { generateContainerTypeSchemaProperties } from 'sql/platform/dashboard/common/dashboardContainerRegistry'; -import { NAV_SECTION, validateNavSectionContributionAndRegisterIcon } from 'sql/workbench/parts/dashboard/containers/dashboardNavSection.contribution'; -import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution'; -import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution'; +import { NAV_SECTION, validateNavSectionContributionAndRegisterIcon } from 'sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution'; +import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution'; +import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution'; export interface IDashboardTabContrib { id: string; diff --git a/src/sql/workbench/parts/dashboard/common/dashboardWidget.ts b/src/sql/workbench/parts/dashboard/browser/core/dashboardWidget.ts similarity index 95% rename from src/sql/workbench/parts/dashboard/common/dashboardWidget.ts rename to src/sql/workbench/parts/dashboard/browser/core/dashboardWidget.ts index 82cde59ca4..b8b164129c 100644 --- a/src/sql/workbench/parts/dashboard/common/dashboardWidget.ts +++ b/src/sql/workbench/parts/dashboard/browser/core/dashboardWidget.ts @@ -7,7 +7,7 @@ import { InjectionToken, OnDestroy } from '@angular/core'; import { NgGridItemConfig } from 'angular2-grid'; import { Action } from 'vs/base/common/actions'; import { Disposable } from 'vs/base/common/lifecycle'; -import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry'; +import { IDashboardTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; export interface IDashboardWidget { actions: Array; diff --git a/src/sql/workbench/parts/dashboard/common/interfaces.ts b/src/sql/workbench/parts/dashboard/browser/core/interfaces.ts similarity index 81% rename from src/sql/workbench/parts/dashboard/common/interfaces.ts rename to src/sql/workbench/parts/dashboard/browser/core/interfaces.ts index 6348459940..7831e8bc19 100644 --- a/src/sql/workbench/parts/dashboard/common/interfaces.ts +++ b/src/sql/workbench/parts/dashboard/browser/core/interfaces.ts @@ -8,18 +8,8 @@ import { OnDestroy } from '@angular/core'; import { Event } from 'vs/base/common/event'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; -import { SingleConnectionManagementService } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; - -export enum Conditional { - 'equals', - 'notEquals', - 'greaterThanOrEquals', - 'greaterThan', - 'lessThanOrEquals', - 'lessThan', - 'always' -} +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; +import { SingleConnectionManagementService } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; export abstract class DashboardTab extends TabChild implements OnDestroy { public abstract layout(): void; diff --git a/src/sql/workbench/parts/dashboard/dashboard.component.html b/src/sql/workbench/parts/dashboard/browser/dashboard.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/dashboard.component.html rename to src/sql/workbench/parts/dashboard/browser/dashboard.component.html diff --git a/src/sql/workbench/parts/dashboard/dashboard.component.ts b/src/sql/workbench/parts/dashboard/browser/dashboard.component.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/dashboard.component.ts rename to src/sql/workbench/parts/dashboard/browser/dashboard.component.ts index 186c11d0cb..f49e5642f4 100644 --- a/src/sql/workbench/parts/dashboard/dashboard.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/dashboard.component.ts @@ -8,12 +8,12 @@ import 'vs/css!./dashboard'; import { OnInit, Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild } from '@angular/core'; import { Router } from '@angular/router'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import * as Utils from 'sql/platform/connection/common/utils'; -import { RefreshWidgetAction, EditDashboardAction } from 'sql/workbench/parts/dashboard/common/actions'; -import { DashboardPage } from 'sql/workbench/parts/dashboard/common/dashboardPage.component'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { RefreshWidgetAction, EditDashboardAction } from 'sql/workbench/parts/dashboard/browser/core/actions'; +import { DashboardPage } from 'sql/workbench/parts/dashboard/browser/core/dashboardPage.component'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IDisposable } from 'vs/base/common/lifecycle'; diff --git a/src/sql/workbench/parts/dashboard/dashboard.contribution.ts b/src/sql/workbench/parts/dashboard/browser/dashboard.contribution.ts similarity index 84% rename from src/sql/workbench/parts/dashboard/dashboard.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/dashboard.contribution.ts index b2898fa93b..b0d8253610 100644 --- a/src/sql/workbench/parts/dashboard/dashboard.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/dashboard.contribution.ts @@ -3,8 +3,8 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { DashboardEditor } from 'sql/workbench/parts/dashboard/dashboardEditor'; -import { DashboardInput } from 'sql/workbench/parts/dashboard/dashboardInput'; +import { DashboardEditor } from 'sql/workbench/parts/dashboard/browser/dashboardEditor'; +import { DashboardInput } from 'sql/workbench/parts/dashboard/common/dashboardInput'; import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { EditorDescriptor, IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/browser/editor'; diff --git a/src/sql/workbench/parts/dashboard/dashboard.css b/src/sql/workbench/parts/dashboard/browser/dashboard.css similarity index 100% rename from src/sql/workbench/parts/dashboard/dashboard.css rename to src/sql/workbench/parts/dashboard/browser/dashboard.css diff --git a/src/sql/workbench/parts/dashboard/dashboard.module.ts b/src/sql/workbench/parts/dashboard/browser/dashboard.module.ts similarity index 64% rename from src/sql/workbench/parts/dashboard/dashboard.module.ts rename to src/sql/workbench/parts/dashboard/browser/dashboard.module.ts index 7a8ca09654..71f08c0bcc 100644 --- a/src/sql/workbench/parts/dashboard/dashboard.module.ts +++ b/src/sql/workbench/parts/dashboard/browser/dashboard.module.ts @@ -11,55 +11,56 @@ import { FormsModule } from '@angular/forms'; import { NgGridModule } from 'angular2-grid'; import { ChartsModule } from 'ng2-charts'; -import CustomUrlSerializer from 'sql/base/node/urlSerializer'; -import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/common/insightRegistry'; -import { Extensions as ComponentExtensions, IComponentRegistry } from 'sql/platform/dashboard/common/modelComponentRegistry'; -import { IBootstrapParams, ISelector, providerIterator } from 'sql/platform/bootstrap/node/bootstrapService'; +import CustomUrlSerializer from 'sql/base/browser/urlSerializer'; +import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/browser/insightRegistry'; +import { Extensions as ComponentExtensions, IComponentRegistry } from 'sql/platform/dashboard/browser/modelComponentRegistry'; +import { providerIterator } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { IBootstrapParams, ISelector } from 'sql/platform/bootstrap/common/bootstrapParams'; import { Registry } from 'vs/platform/registry/common/platform'; /* Telemetry */ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; /* Services */ -import { BreadcrumbService } from 'sql/workbench/parts/dashboard/services/breadcrumb.service'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { BreadcrumbService } from 'sql/workbench/parts/dashboard/browser/services/breadcrumb.service'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; /* Directives */ -import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/common/componentHost.directive'; +import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/browser/core/componentHost.directive'; /* Base Components */ -import { DashboardComponent } from 'sql/workbench/parts/dashboard/dashboard.component'; -import { DashboardWidgetWrapper } from 'sql/workbench/parts/dashboard/contents/dashboardWidgetWrapper.component'; -import { DashboardWidgetContainer } from 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.component'; -import { DashboardGridContainer } from 'sql/workbench/parts/dashboard/containers/dashboardGridContainer.component'; -import { DashboardWebviewContainer } from 'sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.component'; -import { DashboardModelViewContainer } from 'sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.component'; -import { DashboardErrorContainer } from 'sql/workbench/parts/dashboard/containers/dashboardErrorContainer.component'; -import { DashboardNavSection } from 'sql/workbench/parts/dashboard/containers/dashboardNavSection.component'; -import { WidgetContent } from 'sql/workbench/parts/dashboard/contents/widgetContent.component'; -import { ModelViewContent } from 'sql/workbench/electron-browser/modelComponents/modelViewContent.component'; -import { ModelComponentWrapper } from 'sql/workbench/electron-browser/modelComponents/modelComponentWrapper.component'; -import { WebviewContent } from 'sql/workbench/parts/dashboard/contents/webviewContent.component'; -import { BreadcrumbComponent } from 'sql/base/electron-browser/ui/breadcrumb/breadcrumb.component'; -import { IBreadcrumbService } from 'sql/base/electron-browser/ui/breadcrumb/interfaces'; -import { DashboardHomeContainer } from 'sql/workbench/parts/dashboard/containers/dashboardHomeContainer.component'; -import { ControlHostContent } from 'sql/workbench/parts/dashboard/contents/controlHostContent.component'; -import { DashboardControlHostContainer } from 'sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.component'; -import { JobsViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/jobsView.component'; -import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/agentView.component'; -import { AlertsViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/alertsView.component'; -import { JobHistoryComponent } from 'sql/workbench/parts/jobManagement/electron-browser/jobHistory.component'; -import { OperatorsViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/operatorsView.component'; -import { ProxiesViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/proxiesView.component'; -import LoadingSpinner from 'sql/workbench/electron-browser/modelComponents/loadingSpinner.component'; -import { Checkbox } from 'sql/base/electron-browser/ui/checkbox/checkbox.component'; -import { SelectBox } from 'sql/platform/ui/electron-browser/selectBox/selectBox.component'; -import { InputBox } from 'sql/base/electron-browser/ui/inputBox/inputBox.component'; -import { EditableDropDown } from 'sql/platform/electron-browser/editableDropdown/editableDropdown.component'; +import { DashboardComponent } from 'sql/workbench/parts/dashboard/browser/dashboard.component'; +import { DashboardWidgetWrapper } from 'sql/workbench/parts/dashboard/browser/contents/dashboardWidgetWrapper.component'; +import { DashboardWidgetContainer } from 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.component'; +import { DashboardGridContainer } from 'sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.component'; +import { DashboardWebviewContainer } from 'sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.component'; +import { DashboardModelViewContainer } from 'sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.component'; +import { DashboardErrorContainer } from 'sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.component'; +import { DashboardNavSection } from 'sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.component'; +import { WidgetContent } from 'sql/workbench/parts/dashboard/browser/contents/widgetContent.component'; +import { ModelViewContent } from 'sql/workbench/browser/modelComponents/modelViewContent.component'; +import { ModelComponentWrapper } from 'sql/workbench/browser/modelComponents/modelComponentWrapper.component'; +import { WebviewContent } from 'sql/workbench/parts/dashboard/electron-browser/contents/webviewContent.component'; +import { BreadcrumbComponent } from 'sql/base/browser/ui/breadcrumb/breadcrumb.component'; +import { IBreadcrumbService } from 'sql/base/browser/ui/breadcrumb/interfaces'; +import { DashboardHomeContainer } from 'sql/workbench/parts/dashboard/browser/containers/dashboardHomeContainer.component'; +import { ControlHostContent } from 'sql/workbench/parts/dashboard/browser/contents/controlHostContent.component'; +import { DashboardControlHostContainer } from 'sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.component'; +import { JobsViewComponent } from 'sql/workbench/parts/jobManagement/browser/jobsView.component'; +import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/browser/agentView.component'; +import { AlertsViewComponent } from 'sql/workbench/parts/jobManagement/browser/alertsView.component'; +import { JobHistoryComponent } from 'sql/workbench/parts/jobManagement/browser/jobHistory.component'; +import { OperatorsViewComponent } from 'sql/workbench/parts/jobManagement/browser/operatorsView.component'; +import { ProxiesViewComponent } from 'sql/workbench/parts/jobManagement/browser/proxiesView.component'; +import LoadingSpinner from 'sql/workbench/browser/modelComponents/loadingSpinner.component'; +import { Checkbox } from 'sql/base/browser/ui/checkbox/checkbox.component'; +import { SelectBox } from 'sql/platform/browser/selectBox/selectBox.component'; +import { InputBox } from 'sql/platform/browser/inputbox/inputBox.component'; +import { EditableDropDown } from 'sql/platform/browser/editableDropdown/editableDropdown.component'; const baseComponents = [DashboardHomeContainer, DashboardComponent, DashboardWidgetWrapper, DashboardWebviewContainer, DashboardWidgetContainer, DashboardGridContainer, DashboardErrorContainer, DashboardNavSection, ModelViewContent, WebviewContent, WidgetContent, @@ -68,23 +69,23 @@ const baseComponents = [DashboardHomeContainer, DashboardComponent, DashboardWid DashboardModelViewContainer, ModelComponentWrapper, Checkbox, EditableDropDown, SelectBox, InputBox, LoadingSpinner]; /* Panel */ -import { PanelModule } from 'sql/base/electron-browser/ui/panel/panel.module'; +import { PanelModule } from 'sql/base/browser/ui/panel/panel.module'; -import { ScrollableModule } from 'sql/base/electron-browser/ui/scrollable/scrollable.module'; +import { ScrollableModule } from 'sql/base/browser/ui/scrollable/scrollable.module'; /* Pages */ -import { ServerDashboardPage } from 'sql/workbench/parts/dashboard/pages/serverDashboardPage.component'; -import { DatabaseDashboardPage } from 'sql/workbench/parts/dashboard/pages/databaseDashboardPage.component'; +import { ServerDashboardPage } from 'sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.component'; +import { DatabaseDashboardPage } from 'sql/workbench/parts/dashboard/browser/pages/databaseDashboardPage.component'; const pageComponents = [ServerDashboardPage, DatabaseDashboardPage]; /* Widget Components */ -import { PropertiesWidgetComponent } from 'sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component'; -import { ExplorerWidget } from 'sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.component'; -import { TasksWidget } from 'sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.component'; -import { InsightsWidget } from 'sql/workbench/parts/dashboard/widgets/insights/insightsWidget.component'; -import { WebviewWidget } from 'sql/workbench/parts/dashboard/widgets/webview/webviewWidget.component'; -import { JobStepsViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/jobStepsView.component'; +import { PropertiesWidgetComponent } from 'sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component'; +import { ExplorerWidget } from 'sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.component'; +import { TasksWidget } from 'sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.component'; +import { InsightsWidget } from 'sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.component'; +import { WebviewWidget } from 'sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.component'; +import { JobStepsViewComponent } from 'sql/workbench/parts/jobManagement/browser/jobStepsView.component'; import { IInstantiationService, _util } from 'vs/platform/instantiation/common/instantiation'; import { ILogService } from 'vs/platform/log/common/log'; diff --git a/src/sql/workbench/parts/dashboard/dashboardConfig.contribution.ts b/src/sql/workbench/parts/dashboard/browser/dashboardConfig.contribution.ts similarity index 89% rename from src/sql/workbench/parts/dashboard/dashboardConfig.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/dashboardConfig.contribution.ts index 1ad4300d22..e4af5ae313 100644 --- a/src/sql/workbench/parts/dashboard/dashboardConfig.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/dashboardConfig.contribution.ts @@ -5,9 +5,9 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { IConfigurationRegistry, Extensions, IConfigurationNode } from 'vs/platform/configuration/common/configurationRegistry'; -import { DASHBOARD_CONFIG_ID } from 'sql/workbench/parts/dashboard/pages/dashboardPageContribution'; -import { DATABASE_DASHBOARD_SETTING, DATABASE_DASHBOARD_PROPERTIES, DATABASE_DASHBOARD_TABS, databaseDashboardSettingSchema, databaseDashboardPropertiesSchema, databaseDashboardTabsSchema } from 'sql/workbench/parts/dashboard/pages/databaseDashboardPage.contribution'; -import { SERVER_DASHBOARD_SETTING, SERVER_DASHBOARD_PROPERTIES, SERVER_DASHBOARD_TABS, serverDashboardSettingSchema, serverDashboardPropertiesSchema, serverDashboardTabsSchema } from 'sql/workbench/parts/dashboard/pages/serverDashboardPage.contribution'; +import { DASHBOARD_CONFIG_ID } from 'sql/workbench/parts/dashboard/browser/pages/dashboardPageContribution'; +import { DATABASE_DASHBOARD_SETTING, DATABASE_DASHBOARD_PROPERTIES, DATABASE_DASHBOARD_TABS, databaseDashboardSettingSchema, databaseDashboardPropertiesSchema, databaseDashboardTabsSchema } from 'sql/workbench/parts/dashboard/browser/pages/databaseDashboardPage.contribution'; +import { SERVER_DASHBOARD_SETTING, SERVER_DASHBOARD_PROPERTIES, SERVER_DASHBOARD_TABS, serverDashboardSettingSchema, serverDashboardPropertiesSchema, serverDashboardTabsSchema } from 'sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.contribution'; const configurationRegistry = Registry.as(Extensions.Configuration); const dashboardConfig: IConfigurationNode = { diff --git a/src/sql/workbench/parts/dashboard/dashboardEditor.ts b/src/sql/workbench/parts/dashboard/browser/dashboardEditor.ts similarity index 96% rename from src/sql/workbench/parts/dashboard/dashboardEditor.ts rename to src/sql/workbench/parts/dashboard/browser/dashboardEditor.ts index dcffaed42c..335686ae17 100644 --- a/src/sql/workbench/parts/dashboard/dashboardEditor.ts +++ b/src/sql/workbench/parts/dashboard/browser/dashboardEditor.ts @@ -11,11 +11,11 @@ import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/work import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; -import { DashboardInput } from './dashboardInput'; +import { DashboardInput } from '../common/dashboardInput'; import { DashboardModule } from './dashboard.module'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; -import { IDashboardComponentParams } from 'sql/platform/bootstrap/node/bootstrapParams'; -import { DASHBOARD_SELECTOR } from 'sql/workbench/parts/dashboard/dashboard.component'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { IDashboardComponentParams } from 'sql/platform/bootstrap/common/bootstrapParams'; +import { DASHBOARD_SELECTOR } from 'sql/workbench/parts/dashboard/browser/dashboard.component'; import { ConnectionContextKey } from 'sql/workbench/parts/connection/common/connectionContextKey'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; diff --git a/src/sql/workbench/parts/dashboard/pages/dashboardPageContribution.ts b/src/sql/workbench/parts/dashboard/browser/pages/dashboardPageContribution.ts similarity index 98% rename from src/sql/workbench/parts/dashboard/pages/dashboardPageContribution.ts rename to src/sql/workbench/parts/dashboard/browser/pages/dashboardPageContribution.ts index 2cf1e191ab..1491c1ae98 100644 --- a/src/sql/workbench/parts/dashboard/pages/dashboardPageContribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/pages/dashboardPageContribution.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { Extensions, IDashboardWidgetRegistry } from 'sql/platform/dashboard/common/widgetRegistry'; +import { Extensions, IDashboardWidgetRegistry } from 'sql/platform/dashboard/browser/widgetRegistry'; import { Registry } from 'vs/platform/registry/common/platform'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; diff --git a/src/sql/workbench/parts/dashboard/pages/databaseDashboardPage.component.ts b/src/sql/workbench/parts/dashboard/browser/pages/databaseDashboardPage.component.ts similarity index 82% rename from src/sql/workbench/parts/dashboard/pages/databaseDashboardPage.component.ts rename to src/sql/workbench/parts/dashboard/browser/pages/databaseDashboardPage.component.ts index 178275e487..1dd89211a2 100644 --- a/src/sql/workbench/parts/dashboard/pages/databaseDashboardPage.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/pages/databaseDashboardPage.component.ts @@ -5,12 +5,12 @@ import { OnInit, Inject, forwardRef, ChangeDetectorRef, ElementRef } from '@angular/core'; -import { DashboardPage } from 'sql/workbench/parts/dashboard/common/dashboardPage.component'; -import { BreadcrumbClass } from 'sql/workbench/parts/dashboard/services/breadcrumb.service'; -import { IBreadcrumbService } from 'sql/base/electron-browser/ui/breadcrumb/interfaces'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { DashboardPage } from 'sql/workbench/parts/dashboard/browser/core/dashboardPage.component'; +import { BreadcrumbClass } from 'sql/workbench/parts/dashboard/browser/services/breadcrumb.service'; +import { IBreadcrumbService } from 'sql/base/browser/ui/breadcrumb/interfaces'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IAngularEventingService } from 'sql/platform/angularEventing/common/angularEventingService'; import * as colors from 'vs/platform/theme/common/colorRegistry'; diff --git a/src/sql/workbench/parts/dashboard/pages/databaseDashboardPage.contribution.ts b/src/sql/workbench/parts/dashboard/browser/pages/databaseDashboardPage.contribution.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/pages/databaseDashboardPage.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/pages/databaseDashboardPage.contribution.ts diff --git a/src/sql/workbench/parts/dashboard/pages/serverDashboardPage.component.ts b/src/sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.component.ts similarity index 85% rename from src/sql/workbench/parts/dashboard/pages/serverDashboardPage.component.ts rename to src/sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.component.ts index 5f1a01629a..97c448cf21 100644 --- a/src/sql/workbench/parts/dashboard/pages/serverDashboardPage.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.component.ts @@ -5,12 +5,12 @@ import { OnInit, Inject, forwardRef, ChangeDetectorRef, ElementRef } from '@angular/core'; -import { DashboardPage } from 'sql/workbench/parts/dashboard/common/dashboardPage.component'; -import { BreadcrumbClass } from 'sql/workbench/parts/dashboard/services/breadcrumb.service'; -import { IBreadcrumbService } from 'sql/base/electron-browser/ui/breadcrumb/interfaces'; -import { WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { DashboardPage } from 'sql/workbench/parts/dashboard/browser/core/dashboardPage.component'; +import { BreadcrumbClass } from 'sql/workbench/parts/dashboard/browser/services/breadcrumb.service'; +import { IBreadcrumbService } from 'sql/base/browser/ui/breadcrumb/interfaces'; +import { WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IAngularEventingService } from 'sql/platform/angularEventing/common/angularEventingService'; import * as colors from 'vs/platform/theme/common/colorRegistry'; diff --git a/src/sql/workbench/parts/dashboard/pages/serverDashboardPage.contribution.ts b/src/sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.contribution.ts similarity index 97% rename from src/sql/workbench/parts/dashboard/pages/serverDashboardPage.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.contribution.ts index 1352a4c221..7c17eff3ad 100644 --- a/src/sql/workbench/parts/dashboard/pages/serverDashboardPage.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/pages/serverDashboardPage.contribution.ts @@ -5,7 +5,7 @@ import { IJSONSchema } from 'vs/base/common/jsonSchema'; import * as nls from 'vs/nls'; -import { generateDashboardWidgetSchema, generateDashboardTabSchema } from 'sql/workbench/parts/dashboard/pages/dashboardPageContribution'; +import { generateDashboardWidgetSchema, generateDashboardTabSchema } from 'sql/workbench/parts/dashboard/browser/pages/dashboardPageContribution'; export interface IPropertiesConfig { edition: number | Array; diff --git a/src/sql/workbench/parts/dashboard/services/breadcrumb.service.ts b/src/sql/workbench/parts/dashboard/browser/services/breadcrumb.service.ts similarity index 94% rename from src/sql/workbench/parts/dashboard/services/breadcrumb.service.ts rename to src/sql/workbench/parts/dashboard/browser/services/breadcrumb.service.ts index f36b10a60e..5d80e4fd2f 100644 --- a/src/sql/workbench/parts/dashboard/services/breadcrumb.service.ts +++ b/src/sql/workbench/parts/dashboard/browser/services/breadcrumb.service.ts @@ -7,8 +7,8 @@ import { Injectable, forwardRef, Inject } from '@angular/core'; import { Subject } from 'rxjs/Subject'; import { DashboardServiceInterface } from './dashboardServiceInterface.service'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { MenuItem, IBreadcrumbService } from 'sql/base/electron-browser/ui/breadcrumb/interfaces'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { MenuItem, IBreadcrumbService } from 'sql/base/browser/ui/breadcrumb/interfaces'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import * as nls from 'vs/nls'; diff --git a/src/sql/workbench/parts/dashboard/services/dashboardServiceInterface.service.ts b/src/sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service.ts similarity index 92% rename from src/sql/workbench/parts/dashboard/services/dashboardServiceInterface.service.ts rename to src/sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service.ts index 8538a9a1e1..35dd591a63 100644 --- a/src/sql/workbench/parts/dashboard/services/dashboardServiceInterface.service.ts +++ b/src/sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service.ts @@ -8,17 +8,15 @@ import { Injectable, Inject, forwardRef } from '@angular/core'; import { Router } from '@angular/router'; /* SQL imports */ -import { IDashboardComponentParams } from 'sql/platform/bootstrap/node/bootstrapParams'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; +import { IDashboardComponentParams, IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; import { IMetadataService } from 'sql/platform/metadata/common/metadataService'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IAdminService } from 'sql/workbench/services/admin/common/adminService'; import { IQueryManagementService } from 'sql/platform/query/common/queryManagement'; -import { toDisposableSubscription } from 'sql/base/node/rxjsUtils'; import { AngularEventType, IAngularEvent, IAngularEventingService } from 'sql/platform/angularEventing/common/angularEventingService'; -import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry'; -import { TabSettingConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { IDashboardTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; +import { TabSettingConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; /* VS imports */ import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; @@ -28,6 +26,7 @@ import * as nls from 'vs/nls'; import { deepClone } from 'vs/base/common/objects'; import { RawContextKey, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { INotificationService } from 'vs/platform/notification/common/notification'; +import { subscriptionToDisposable } from 'sql/base/browser/lifecycle'; const DASHBOARD_SETTINGS = 'dashboard'; @@ -78,7 +77,7 @@ export class DashboardServiceInterface extends CommonServiceInterface { // during testing there may not be params if (this._params) { this.dashboardContextKey = this._dashboardContextKey.bindTo(this.scopedContextKeyService); - this._register(toDisposableSubscription(this.angularEventingService.onAngularEvent(this._uri, (event) => this.handleDashboardEvent(event)))); + this._register(subscriptionToDisposable(this.angularEventingService.onAngularEvent(this._uri, (event) => this.handleDashboardEvent(event)))); } } diff --git a/src/sql/workbench/parts/dashboard/widgets/explorer/explorerTree.ts b/src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerTree.ts similarity index 99% rename from src/sql/workbench/parts/dashboard/widgets/explorer/explorerTree.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerTree.ts index 920c13a28a..6bc2e8f2a0 100644 --- a/src/sql/workbench/parts/dashboard/widgets/explorer/explorerTree.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerTree.ts @@ -7,7 +7,7 @@ import { Router } from '@angular/router'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { MetadataType, IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { SingleConnectionManagementService } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { SingleConnectionManagementService } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { NewQueryAction, ScriptSelectAction, EditDataAction, ScriptCreateAction, ScriptExecuteAction, ScriptAlterAction, BackupAction, ManageActionContext, BaseActionContext, ManageAction, RestoreAction @@ -33,7 +33,7 @@ import { $ } from 'vs/base/browser/dom'; import { ExecuteCommandAction } from 'vs/platform/actions/common/actions'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { IEditorProgressService } from 'vs/platform/progress/common/progress'; -import { NewNotebookAction } from 'sql/workbench/parts/notebook/notebookActions'; +import { NewNotebookAction } from 'sql/workbench/parts/notebook/electron-browser/notebookActions'; export class ObjectMetadataWrapper implements ObjectMetadata { public metadataType: MetadataType; diff --git a/src/sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.component.html b/src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.component.html rename to src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.component.html diff --git a/src/sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.component.ts similarity index 92% rename from src/sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.component.ts index 6f515db14c..fb3068e4a9 100644 --- a/src/sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.component.ts @@ -10,9 +10,8 @@ import 'vs/css!./media/explorerWidget'; import { Component, Inject, forwardRef, OnInit, ViewChild, ElementRef } from '@angular/core'; import { Router } from '@angular/router'; -import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { toDisposableSubscription } from 'sql/base/node/rxjsUtils'; +import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { ExplorerFilter, ExplorerRenderer, ExplorerDataSource, ExplorerController, ObjectMetadataWrapper, ExplorerModel } from './explorerTree'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; @@ -28,10 +27,11 @@ import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/work import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IEditorProgressService } from 'vs/platform/progress/common/progress'; import { ScrollbarVisibility } from 'vs/base/common/scrollable'; +import { subscriptionToDisposable } from 'sql/base/browser/lifecycle'; @Component({ selector: 'explorer-widget', - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.component.html')) + templateUrl: decodeURI(require.toUrl('./explorerWidget.component.html')) }) export class ExplorerWidget extends DashboardWidget implements IDashboardWidget, OnInit { private _input: InputBox; @@ -102,7 +102,7 @@ export class ExplorerWidget extends DashboardWidget implements IDashboardWidget, private init(): void { if (this._config.context === 'database') { - this._register(toDisposableSubscription(this._bootstrap.metadataService.metadata.subscribe( + this._register(subscriptionToDisposable(this._bootstrap.metadataService.metadata.subscribe( data => { if (data) { const objectData = ObjectMetadataWrapper.createFromObjectMetadata(data.objectMetadata); @@ -117,7 +117,7 @@ export class ExplorerWidget extends DashboardWidget implements IDashboardWidget, ))); } else { const currentProfile = this._bootstrap.connectionManagementService.connectionInfo.connectionProfile; - this._register(toDisposableSubscription(this._bootstrap.metadataService.databaseNames.subscribe( + this._register(subscriptionToDisposable(this._bootstrap.metadataService.databaseNames.subscribe( data => { // Handle the case where there is no metadata service data = data || []; diff --git a/src/sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.contribution.ts similarity index 85% rename from src/sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.contribution.ts index d8ab5ed96b..03e5e6db54 100644 --- a/src/sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.contribution.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IJSONSchema } from 'vs/base/common/jsonSchema'; -import { registerDashboardWidget } from 'sql/platform/dashboard/common/widgetRegistry'; +import { registerDashboardWidget } from 'sql/platform/dashboard/browser/widgetRegistry'; const explorerSchema: IJSONSchema = { type: 'object', diff --git a/src/sql/workbench/parts/dashboard/widgets/explorer/media/explorerWidget.css b/src/sql/workbench/parts/dashboard/browser/widgets/explorer/media/explorerWidget.css similarity index 100% rename from src/sql/workbench/parts/dashboard/widgets/explorer/media/explorerWidget.css rename to src/sql/workbench/parts/dashboard/browser/widgets/explorer/media/explorerWidget.css diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/actions.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/actions.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/widgets/insights/actions.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/actions.ts diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/insightsWidget.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.component.ts similarity index 95% rename from src/sql/workbench/parts/dashboard/widgets/insights/insightsWidget.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.component.ts index 46fb782d78..1e4112fdfb 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/insightsWidget.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.component.ts @@ -9,13 +9,11 @@ import { } from '@angular/core'; import { Observable } from 'rxjs/Observable'; -import { DashboardWidget, IDashboardWidget, WIDGET_CONFIG, WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/common/componentHost.directive'; +import { DashboardWidget, IDashboardWidget, WIDGET_CONFIG, WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/browser/core/componentHost.directive'; import { InsightAction, InsightActionContext } from 'sql/workbench/common/actions'; -import { toDisposableSubscription } from 'sql/base/node/rxjsUtils'; -import { IInsightsConfig, IInsightsView } from './interfaces'; -import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/common/insightRegistry'; +import { Extensions, IInsightRegistry, IInsightsConfig, IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry'; import { resolveQueryFilePath } from 'sql/workbench/services/insights/common/insightsUtils'; import { RunInsightQueryAction } from './actions'; @@ -34,6 +32,7 @@ import { isPromiseCanceledError } from 'vs/base/common/errors'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IFileService } from 'vs/platform/files/common/files'; import { URI } from 'vs/base/common/uri'; +import { subscriptionToDisposable } from 'sql/base/browser/lifecycle'; const insightRegistry = Registry.as(Extensions.InsightContribution); @@ -121,7 +120,7 @@ export class InsightsWidget extends DashboardWidget implements IDashboardWidget, ngAfterContentInit() { this._init = true; if (this.queryObv) { - this._register(toDisposableSubscription(this.queryObv.subscribe( + this._register(subscriptionToDisposable(this.queryObv.subscribe( result => { this._loading = false; this._updateChild(result); diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/insightsWidget.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.contribution.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/widgets/insights/insightsWidget.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.contribution.ts index 8fb641742d..f9a9e9317c 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/insightsWidget.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.contribution.ts @@ -5,10 +5,10 @@ import { join } from 'path'; -import { registerDashboardWidget, registerNonCustomDashboardWidget } from 'sql/platform/dashboard/common/widgetRegistry'; -import { Extensions as InsightExtensions, IInsightRegistry } from 'sql/platform/dashboard/common/insightRegistry'; +import { registerDashboardWidget, registerNonCustomDashboardWidget } from 'sql/platform/dashboard/browser/widgetRegistry'; +import { Extensions as InsightExtensions, IInsightRegistry } from 'sql/platform/dashboard/browser/insightRegistry'; import { IInsightTypeContrib } from './interfaces'; -import { insightsContribution, insightsSchema } from 'sql/workbench/parts/dashboard/widgets/insights/insightsWidgetSchemas'; +import { insightsContribution, insightsSchema } from 'sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidgetSchemas'; import { IExtensionPointUser, ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry'; import { Registry } from 'vs/platform/registry/common/platform'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/insightsWidgetSchemas.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidgetSchemas.ts similarity index 98% rename from src/sql/workbench/parts/dashboard/widgets/insights/insightsWidgetSchemas.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidgetSchemas.ts index b35d31c8b8..448a884d42 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/insightsWidgetSchemas.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidgetSchemas.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInsightRegistry, Extensions as InsightExtensions } from 'sql/platform/dashboard/common/insightRegistry'; +import { IInsightRegistry, Extensions as InsightExtensions } from 'sql/platform/dashboard/browser/insightRegistry'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; import { Registry } from 'vs/platform/registry/common/platform'; import * as nls from 'vs/nls'; diff --git a/src/sqltest/stubs/jobsManagementViewStub.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/interfaces.ts similarity index 52% rename from src/sqltest/stubs/jobsManagementViewStub.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/interfaces.ts index 835ee22e75..2a03ce361e 100644 --- a/src/sqltest/stubs/jobsManagementViewStub.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/interfaces.ts @@ -3,18 +3,9 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -/** - * Class to test Job Management Views - */ -export class TestJobManagementView { +import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry'; - refreshJobs() { return undefined; } - - openCreateJobDialog() { return undefined; } - - openCreateAlertDialog() { return undefined; } - - openCreateOperatorDialog() { return undefined; } - - openCreateProxyDialog() { return undefined; } +export interface IInsightTypeContrib { + id: string; + contrib: IInsightsConfig; } \ No newline at end of file diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.component.ts similarity index 93% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.component.ts index 085d8ea871..1d412aff14 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.component.ts @@ -6,12 +6,11 @@ import { Component, Input, Inject, ChangeDetectorRef, forwardRef, ViewChild } from '@angular/core'; import { BaseChartDirective } from 'ng2-charts'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; -import { IInsightsView, IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; import { memoize, unmemoize } from 'sql/base/common/decorators'; import { mixin } from 'sql/base/common/objects'; -import { LegendPosition, ChartType, defaultChartConfig, IChartConfig, IDataSet, IPointDataSet } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +import { defaultChartConfig, IChartConfig, IDataSet } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/interfaces'; import * as colors from 'vs/platform/theme/common/colorRegistry'; import * as types from 'vs/base/common/types'; @@ -20,6 +19,9 @@ import * as nls from 'vs/nls'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; +import { IInsightData, IPointDataSet } from 'sql/workbench/parts/charts/browser/interfaces'; +import { IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry'; +import { ChartType, LegendPosition } from 'sql/workbench/parts/charts/common/interfaces'; declare const Chart: any; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.contribution.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.contribution.ts diff --git a/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/interfaces.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/interfaces.ts new file mode 100644 index 0000000000..1f820a6855 --- /dev/null +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/interfaces.ts @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { LegendPosition, DataDirection } from 'sql/workbench/parts/charts/common/interfaces'; + +export interface IDataSet { + data: Array; + label?: string; +} + +export interface IChartConfig { + colorMap?: { [column: string]: string }; + labelFirstColumn?: boolean; + legendPosition?: LegendPosition; + dataDirection?: DataDirection; + columnsAsLabels?: boolean; + showTopNData?: number; +} + +export const defaultChartConfig: IChartConfig = { + labelFirstColumn: true, + columnsAsLabels: true, + legendPosition: LegendPosition.Top, + dataDirection: DataDirection.Vertical +}; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.component.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.component.ts index f00f902361..59b3e78066 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.component.ts @@ -3,9 +3,9 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ChartInsight } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.component'; +import { ChartInsight } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.component'; import { mixin } from 'sql/base/common/objects'; -import { ChartType, IChartConfig, customMixin } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +import { IChartConfig } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/interfaces'; import * as colors from 'vs/platform/theme/common/colorRegistry'; import { editorLineNumbers } from 'vs/editor/common/view/editorColorRegistry'; @@ -13,6 +13,8 @@ import { ChangeDetectorRef, Inject, forwardRef } from '@angular/core'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; +import { customMixin } from 'sql/workbench/parts/charts/browser/interfaces'; +import { ChartType } from 'sql/workbench/parts/charts/common/interfaces'; export interface IBarChartConfig extends IChartConfig { yAxisMin: number; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.contribution.ts similarity index 90% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.contribution.ts index 4841159f15..d3243a64a0 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.contribution.ts @@ -7,8 +7,8 @@ import { mixin, deepClone } from 'vs/base/common/objects'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; import * as nls from 'vs/nls'; -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; -import { chartInsightSchema } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.contribution'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; +import { chartInsightSchema } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.contribution'; import BarChart from './barChart.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/doughnutChart.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/doughnutChart.component.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/doughnutChart.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/doughnutChart.component.ts index f9a98ae4aa..6251c1353c 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/doughnutChart.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/doughnutChart.component.ts @@ -4,11 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import PieChart from './pieChart.component'; -import { ChartType } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; import { ChangeDetectorRef, Inject, forwardRef } from '@angular/core'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ILogService } from 'vs/platform/log/common/log'; import { IThemeService } from 'vs/platform/theme/common/themeService'; +import { ChartType } from 'sql/workbench/parts/charts/common/interfaces'; export default class DoughnutChart extends PieChart { protected readonly chartType: ChartType = ChartType.Doughnut; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/doughnutChart.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/doughnutChart.contribution.ts similarity index 84% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/doughnutChart.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/doughnutChart.contribution.ts index d3c603694c..c50995fe30 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/doughnutChart.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/doughnutChart.contribution.ts @@ -5,8 +5,8 @@ import { mixin, deepClone } from 'vs/base/common/objects'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; -import { chartInsightSchema } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.contribution'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; +import { chartInsightSchema } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.contribution'; import DoughnutChart from './doughnutChart.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/horizontalBarChart.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/horizontalBarChart.component.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/horizontalBarChart.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/horizontalBarChart.component.ts index 83c050b626..490dcf7d44 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/horizontalBarChart.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/horizontalBarChart.component.ts @@ -4,11 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import BarChart from './barChart.component'; -import { ChartType } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; import { forwardRef, Inject, ChangeDetectorRef } from '@angular/core'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; +import { ChartType } from 'sql/workbench/parts/charts/common/interfaces'; export default class HorizontalBarChart extends BarChart { protected readonly chartType: ChartType = ChartType.HorizontalBar; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/horizontalBarChart.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/horizontalBarChart.contribution.ts similarity index 77% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/horizontalBarChart.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/horizontalBarChart.contribution.ts index 46fe618928..f9cfbd8d17 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/horizontalBarChart.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/horizontalBarChart.contribution.ts @@ -6,8 +6,8 @@ import { mixin, deepClone } from 'vs/base/common/objects'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; -import { barChartSchema } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.contribution'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; +import { barChartSchema } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.contribution'; import HorizontalBarChart from './horizontalBarChart.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/lineChart.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/lineChart.component.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/lineChart.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/lineChart.component.ts index 331169fa14..4ff8d9bb3c 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/lineChart.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/lineChart.component.ts @@ -7,11 +7,13 @@ import { mixin, deepClone } from 'vs/base/common/objects'; import BarChart, { IBarChartConfig } from './barChart.component'; import { memoize, unmemoize } from 'sql/base/common/decorators'; -import { ChartType, DataType, defaultChartConfig, IDataSet, IPointDataSet } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +import { defaultChartConfig, IDataSet } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/interfaces'; import { ChangeDetectorRef, Inject, forwardRef } from '@angular/core'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; +import { IPointDataSet } from 'sql/workbench/parts/charts/browser/interfaces'; +import { DataType, ChartType } from 'sql/workbench/parts/charts/common/interfaces'; export interface ILineConfig extends IBarChartConfig { dataType?: DataType; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/lineChart.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/lineChart.contribution.ts similarity index 84% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/lineChart.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/lineChart.contribution.ts index c67110251d..1c530e4a09 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/lineChart.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/lineChart.contribution.ts @@ -7,8 +7,8 @@ import { mixin, deepClone } from 'vs/base/common/objects'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; import * as nls from 'vs/nls'; -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; -import { barChartSchema } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.contribution'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; +import { barChartSchema } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.contribution'; import LineChart from './lineChart.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/pieChart.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/pieChart.component.ts similarity index 83% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/pieChart.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/pieChart.component.ts index ff8f523f32..26e0646b9f 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/pieChart.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/pieChart.component.ts @@ -3,12 +3,12 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ChartInsight } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.component'; -import { ChartType } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +import { ChartInsight } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.component'; import { ChangeDetectorRef, Inject, forwardRef } from '@angular/core'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; +import { ChartType } from 'sql/workbench/parts/charts/common/interfaces'; export default class PieChart extends ChartInsight { protected readonly chartType: ChartType = ChartType.Pie; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/pieChart.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/pieChart.contribution.ts similarity index 83% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/pieChart.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/pieChart.contribution.ts index ea533f6a90..0aed98a99d 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/pieChart.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/pieChart.contribution.ts @@ -5,8 +5,8 @@ import { mixin, deepClone } from 'vs/base/common/objects'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; -import { chartInsightSchema } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/chartInsight.contribution'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; +import { chartInsightSchema } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/chartInsight.contribution'; import PieChart from './pieChart.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/scatterChart.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/scatterChart.component.ts similarity index 87% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/scatterChart.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/scatterChart.component.ts index 1afbe1bc9d..0300c861e7 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/scatterChart.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/scatterChart.component.ts @@ -4,13 +4,14 @@ *--------------------------------------------------------------------------------------------*/ import LineChart, { ILineConfig } from './lineChart.component'; -import { ChartType, defaultChartConfig } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +import { defaultChartConfig } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/interfaces'; import { mixin, deepClone } from 'vs/base/common/objects'; import { ChangeDetectorRef, Inject, forwardRef } from '@angular/core'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; +import { ChartType } from 'sql/workbench/parts/charts/common/interfaces'; const defaultScatterConfig = mixin(deepClone(defaultChartConfig), { dataType: 'point', dataDirection: 'horizontal' }) as ILineConfig; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/scatterChart.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/scatterChart.contribution.ts similarity index 76% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/scatterChart.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/scatterChart.contribution.ts index 76feaa0830..d7afad253f 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/scatterChart.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/scatterChart.contribution.ts @@ -6,8 +6,8 @@ import { mixin, deepClone } from 'vs/base/common/objects'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; -import { barChartSchema } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.contribution'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; +import { barChartSchema } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.contribution'; import ScatterChart from './scatterChart.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/timeSeriesChart.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/timeSeriesChart.component.ts similarity index 90% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/timeSeriesChart.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/timeSeriesChart.component.ts index a01cd5c43c..58b15f32c5 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/timeSeriesChart.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/timeSeriesChart.component.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import LineChart, { ILineConfig } from './lineChart.component'; -import { ChartType, defaultChartConfig, IPointDataSet } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces'; +import { defaultChartConfig } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/interfaces'; import { mixin, deepClone } from 'vs/base/common/objects'; import { Color } from 'vs/base/common/color'; @@ -12,6 +12,8 @@ import { ChangeDetectorRef, Inject, forwardRef } from '@angular/core'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { ILogService } from 'vs/platform/log/common/log'; +import { IPointDataSet } from 'sql/workbench/parts/charts/browser/interfaces'; +import { ChartType } from 'sql/workbench/parts/charts/common/interfaces'; const defaultTimeSeriesConfig = mixin(deepClone(defaultChartConfig), { dataType: 'point', dataDirection: 'horizontal' }) as ILineConfig; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/timeSeriesChart.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/timeSeriesChart.contribution.ts similarity index 77% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/timeSeriesChart.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/timeSeriesChart.contribution.ts index 9fd6d65da4..2042eb5661 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/types/timeSeriesChart.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/timeSeriesChart.contribution.ts @@ -6,8 +6,8 @@ import { mixin, deepClone } from 'vs/base/common/objects'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; -import { barChartSchema } from 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.contribution'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; +import { barChartSchema } from 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.contribution'; import TimeSeriesChart from './timeSeriesChart.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/countInsight.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/countInsight.component.ts similarity index 86% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/countInsight.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/countInsight.component.ts index a78f5a637a..809713809c 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/countInsight.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/countInsight.component.ts @@ -5,7 +5,8 @@ import { Component, Input, Inject, ChangeDetectorRef, forwardRef } from '@angular/core'; -import { IInsightsView, IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; +import { IInsightData } from 'sql/workbench/parts/charts/browser/interfaces'; +import { IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry'; @Component({ template: ` diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/countInsight.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/countInsight.contribution.ts similarity index 91% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/countInsight.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/countInsight.contribution.ts index 199bdc0d28..0877b890f4 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/countInsight.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/countInsight.contribution.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; import CountInsight from './countInsight.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/imageInsight.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/imageInsight.component.ts similarity index 94% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/imageInsight.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/imageInsight.component.ts index fdddf8412d..a2f15030d1 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/imageInsight.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/imageInsight.component.ts @@ -5,9 +5,9 @@ import { Component, Input, Inject, ChangeDetectorRef, forwardRef, ViewChild, OnInit, ElementRef } from '@angular/core'; -import { IInsightsView, IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; - import { mixin } from 'vs/base/common/objects'; +import { IInsightData } from 'sql/workbench/parts/charts/browser/interfaces'; +import { IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry'; interface IConfig { encoding?: string; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/imageInsight.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/imageInsight.contribution.ts similarity index 93% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/imageInsight.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/imageInsight.contribution.ts index 19a22df9e1..e8097a74c4 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/imageInsight.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/imageInsight.contribution.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; import ImageInsight from './imageInsight.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/tableInsight.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/tableInsight.component.ts similarity index 95% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/tableInsight.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/tableInsight.component.ts index c6b3121ff1..a14e75a9b6 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/tableInsight.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/tableInsight.component.ts @@ -9,11 +9,12 @@ import { getContentHeight, getContentWidth, Dimension } from 'vs/base/browser/do import { Disposable } from 'vs/base/common/lifecycle'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; -import { IInsightsView, IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import { Table } from 'sql/base/browser/ui/table/table'; import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; import { attachTableStyler } from 'sql/platform/theme/common/styler'; import { CellSelectionModel } from 'sql/base/browser/ui/table/plugins/cellSelectionModel.plugin'; +import { IInsightData } from 'sql/workbench/parts/charts/browser/interfaces'; +import { IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry'; @Component({ template: '' diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/tableInsight.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/tableInsight.contribution.ts similarity index 89% rename from src/sql/workbench/parts/dashboard/widgets/insights/views/tableInsight.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/insights/views/tableInsight.contribution.ts index 1e3ad63142..be86978ad5 100644 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/tableInsight.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/insights/views/tableInsight.contribution.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { registerInsight } from 'sql/platform/dashboard/common/insightRegistry'; +import { registerInsight } from 'sql/platform/dashboard/browser/insightRegistry'; import TableInsight from './tableInsight.component'; diff --git a/src/sql/workbench/parts/dashboard/widgets/properties/propertiesJson.ts b/src/sql/workbench/parts/dashboard/browser/widgets/properties/propertiesJson.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/widgets/properties/propertiesJson.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/properties/propertiesJson.ts diff --git a/src/sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component.html b/src/sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component.html rename to src/sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component.html diff --git a/src/sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component.ts similarity index 93% rename from src/sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component.ts index 40c291b207..0dd3b6dbb3 100644 --- a/src/sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component.ts @@ -5,11 +5,10 @@ import { Component, Inject, forwardRef, ChangeDetectorRef, OnInit, ElementRef, ViewChild } from '@angular/core'; -import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { ConnectionManagementInfo } from 'sql/platform/connection/common/connectionManagementInfo'; -import { toDisposableSubscription } from 'sql/base/node/rxjsUtils'; -import { IDashboardRegistry, Extensions as DashboardExtensions } from 'sql/platform/dashboard/common/dashboardRegistry'; +import { IDashboardRegistry, Extensions as DashboardExtensions } from 'sql/platform/dashboard/browser/dashboardRegistry'; import { DatabaseInfo, ServerInfo } from 'azdata'; @@ -18,6 +17,7 @@ import * as types from 'vs/base/common/types'; import * as nls from 'vs/nls'; import { Registry } from 'vs/platform/registry/common/platform'; import { ILogService } from 'vs/platform/log/common/log'; +import { subscriptionToDisposable } from 'sql/base/browser/lifecycle'; export interface PropertiesConfig { properties: Array; @@ -55,7 +55,7 @@ export interface DisplayProperty { @Component({ selector: 'properties-widget', - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component.html')) + templateUrl: decodeURI(require.toUrl('./propertiesWidget.component.html')) }) export class PropertiesWidgetComponent extends DashboardWidget implements IDashboardWidget, OnInit { private _connection: ConnectionManagementInfo; @@ -90,7 +90,7 @@ export class PropertiesWidgetComponent extends DashboardWidget implements IDashb private init(): void { this._connection = this._bootstrap.connectionManagementService.connectionInfo; - this._register(toDisposableSubscription(this._bootstrap.adminService.databaseInfo.subscribe(data => { + this._register(subscriptionToDisposable(this._bootstrap.adminService.databaseInfo.subscribe(data => { this._databaseInfo = data; this._changeRef.detectChanges(); this.parseProperties(); diff --git a/src/sql/workbench/parts/dashboard/widgets/tasks/media/taskWidget.css b/src/sql/workbench/parts/dashboard/browser/widgets/tasks/media/taskWidget.css similarity index 100% rename from src/sql/workbench/parts/dashboard/widgets/tasks/media/taskWidget.css rename to src/sql/workbench/parts/dashboard/browser/widgets/tasks/media/taskWidget.css diff --git a/src/sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.component.html b/src/sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.component.html similarity index 100% rename from src/sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.component.html rename to src/sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.component.html diff --git a/src/sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.component.ts b/src/sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.component.ts similarity index 94% rename from src/sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.component.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.component.ts index 7cd07fbdcf..e57d777fc8 100644 --- a/src/sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.component.ts @@ -10,9 +10,8 @@ import 'vs/css!./media/taskWidget'; import { Component, Inject, forwardRef, ViewChild, OnInit, ElementRef } from '@angular/core'; /* SQL imports */ -import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { TaskRegistry } from 'sql/platform/tasks/common/tasks'; +import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; /* VS imports */ @@ -28,6 +27,7 @@ import { MenuRegistry, ICommandAction } from 'vs/platform/actions/common/actions import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; +import { TaskRegistry } from 'sql/platform/tasks/browser/tasksRegistry'; interface ITask { name: string; @@ -38,7 +38,7 @@ const selector = 'tasks-widget'; @Component({ selector, - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.component.html')) + templateUrl: decodeURI(require.toUrl('./tasksWidget.component.html')) }) export class TasksWidget extends DashboardWidget implements IDashboardWidget, OnInit { private _size: number = 98; diff --git a/src/sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.contribution.ts b/src/sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.contribution.ts similarity index 90% rename from src/sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.contribution.ts rename to src/sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.contribution.ts index d3cf1b0676..cdac309715 100644 --- a/src/sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.contribution.ts @@ -3,10 +3,10 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { registerDashboardWidget } from 'sql/platform/dashboard/common/widgetRegistry'; -import { TaskRegistry } from 'sql/platform/tasks/common/tasks'; +import { registerDashboardWidget } from 'sql/platform/dashboard/browser/widgetRegistry'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; +import { TaskRegistry } from 'sql/platform/tasks/browser/tasksRegistry'; const singleTaskSchema: IJSONSchema = { type: 'string', diff --git a/src/sql/workbench/parts/dashboard/dashboardInput.ts b/src/sql/workbench/parts/dashboard/common/dashboardInput.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/dashboardInput.ts rename to src/sql/workbench/parts/dashboard/common/dashboardInput.ts diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.component.ts b/src/sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.component.ts similarity index 80% rename from src/sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.component.ts rename to src/sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.component.ts index bfc4de3e31..15dbdc0105 100644 --- a/src/sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.component.ts +++ b/src/sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.component.ts @@ -9,10 +9,10 @@ import { Component, forwardRef, Input, AfterContentInit, ViewChild } from '@angu import { Event, Emitter } from 'vs/base/common/event'; -import { DashboardTab } from 'sql/workbench/parts/dashboard/common/interfaces'; -import { TabConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { WebviewContent } from 'sql/workbench/parts/dashboard/contents/webviewContent.component'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { DashboardTab } from 'sql/workbench/parts/dashboard/browser/core/interfaces'; +import { TabConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { WebviewContent } from 'sql/workbench/parts/dashboard/electron-browser/contents/webviewContent.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; @Component({ selector: 'dashboard-webview-container', diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.contribution.ts b/src/sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.contribution.ts similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.contribution.ts rename to src/sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.contribution.ts diff --git a/src/sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.css b/src/sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.css similarity index 100% rename from src/sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.css rename to src/sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.css diff --git a/src/sql/workbench/parts/dashboard/contents/webviewContent.component.ts b/src/sql/workbench/parts/dashboard/electron-browser/contents/webviewContent.component.ts similarity index 94% rename from src/sql/workbench/parts/dashboard/contents/webviewContent.component.ts rename to src/sql/workbench/parts/dashboard/electron-browser/contents/webviewContent.component.ts index d20d7511c4..c834397af6 100644 --- a/src/sql/workbench/parts/dashboard/contents/webviewContent.component.ts +++ b/src/sql/workbench/parts/dashboard/electron-browser/contents/webviewContent.component.ts @@ -11,10 +11,10 @@ import { Event, Emitter } from 'vs/base/common/event'; import { IDisposable } from 'vs/base/common/lifecycle'; import { addDisposableListener, EventType } from 'vs/base/browser/dom'; import { memoize } from 'vs/base/common/decorators'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IDashboardWebview, IDashboardViewService } from 'sql/platform/dashboard/common/dashboardViewService'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import * as azdata from 'azdata'; diff --git a/src/sql/workbench/parts/dashboard/contents/webviewContent.css b/src/sql/workbench/parts/dashboard/electron-browser/contents/webviewContent.css similarity index 100% rename from src/sql/workbench/parts/dashboard/contents/webviewContent.css rename to src/sql/workbench/parts/dashboard/electron-browser/contents/webviewContent.css diff --git a/src/sql/workbench/parts/dashboard/widgets/webview/webviewWidget.component.ts b/src/sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.component.ts similarity index 93% rename from src/sql/workbench/parts/dashboard/widgets/webview/webviewWidget.component.ts rename to src/sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.component.ts index 87f68bbb9a..2a2bc3a999 100644 --- a/src/sql/workbench/parts/dashboard/widgets/webview/webviewWidget.component.ts +++ b/src/sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.component.ts @@ -9,9 +9,9 @@ import { Event, Emitter } from 'vs/base/common/event'; import { IDisposable } from 'vs/base/common/lifecycle'; import { memoize } from 'vs/base/common/decorators'; -import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IDashboardWebview, IDashboardViewService } from 'sql/platform/dashboard/common/dashboardViewService'; import * as azdata from 'azdata'; diff --git a/src/sql/workbench/parts/dashboard/widgets/webview/webviewWidget.contribution.ts b/src/sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.contribution.ts similarity index 96% rename from src/sql/workbench/parts/dashboard/widgets/webview/webviewWidget.contribution.ts rename to src/sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.contribution.ts index 86d660c831..88af6d0d21 100644 --- a/src/sql/workbench/parts/dashboard/widgets/webview/webviewWidget.contribution.ts +++ b/src/sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.contribution.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IJSONSchema } from 'vs/base/common/jsonSchema'; -import { registerDashboardWidget } from 'sql/platform/dashboard/common/widgetRegistry'; +import { registerDashboardWidget } from 'sql/platform/dashboard/browser/widgetRegistry'; const webviewSchema: IJSONSchema = { type: 'object', diff --git a/src/sqltest/parts/dashboard/widgets/explorerWidget.component.test.ts b/src/sql/workbench/parts/dashboard/test/electron-browser/explorerWidget.component.test.ts similarity index 97% rename from src/sqltest/parts/dashboard/widgets/explorerWidget.component.test.ts rename to src/sql/workbench/parts/dashboard/test/electron-browser/explorerWidget.component.test.ts index 98ee04fca3..83fcb43d5a 100644 --- a/src/sqltest/parts/dashboard/widgets/explorerWidget.component.test.ts +++ b/src/sql/workbench/parts/dashboard/test/electron-browser/explorerWidget.component.test.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ObjectMetadataWrapper } from 'sql/workbench/parts/dashboard/widgets/explorer/explorerTree'; +import { ObjectMetadataWrapper } from 'sql/workbench/parts/dashboard/browser/widgets/explorer/explorerTree'; import { MetadataType } from 'sql/platform/connection/common/connectionManagement'; import * as assert from 'assert'; diff --git a/src/sqltest/parts/dashboard/widgets/propertiesWidget.component.test.ts b/src/sql/workbench/parts/dashboard/test/electron-browser/propertiesWidget.component.test.ts similarity index 93% rename from src/sqltest/parts/dashboard/widgets/propertiesWidget.component.test.ts rename to src/sql/workbench/parts/dashboard/test/electron-browser/propertiesWidget.component.test.ts index 2fdcc0e541..f3947f0796 100644 --- a/src/sqltest/parts/dashboard/widgets/propertiesWidget.component.test.ts +++ b/src/sql/workbench/parts/dashboard/test/electron-browser/propertiesWidget.component.test.ts @@ -7,10 +7,10 @@ import { Observable } from 'rxjs/Observable'; // of is not on Observable by default, need to import it import 'rxjs/add/observable/of'; -import { WidgetConfig } from 'sql/workbench/parts/dashboard/common/dashboardWidget'; -import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/services/dashboardServiceInterface.service'; -import { SingleAdminService, SingleConnectionManagementService } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { PropertiesWidgetComponent } from 'sql/workbench/parts/dashboard/widgets/properties/propertiesWidget.component'; +import { WidgetConfig } from 'sql/workbench/parts/dashboard/browser/core/dashboardWidget'; +import { DashboardServiceInterface } from 'sql/workbench/parts/dashboard/browser/services/dashboardServiceInterface.service'; +import { SingleAdminService, SingleConnectionManagementService } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { PropertiesWidgetComponent } from 'sql/workbench/parts/dashboard/browser/widgets/properties/propertiesWidget.component'; import { ConnectionManagementInfo } from 'sql/platform/connection/common/connectionManagementInfo'; import * as TypeMoq from 'typemoq'; diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/interfaces.ts b/src/sql/workbench/parts/dashboard/widgets/insights/interfaces.ts deleted file mode 100644 index 2d1ef33e66..0000000000 --- a/src/sql/workbench/parts/dashboard/widgets/insights/interfaces.ts +++ /dev/null @@ -1,64 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -export interface IStateCondition { - condition: { - if: string, - equals?: string - }; - color?: string; - icon?: string; -} - -export interface IInsightsLabel { - column: string; - icon?: string; - state?: Array; -} - -export interface IInsightsConfigDetails { - query?: string | Array; - queryFile?: string; - label?: string | IInsightsLabel; - value?: string; - actions?: { - types: Array; - database?: string; - server?: string; - user?: string; - }; -} - -export interface IInsightData { - columns: Array; - rows: Array>; -} - -export interface IInsightsView { - data: IInsightData; - setConfig?: (config: { [key: string]: any }) => void; - init?: () => void; -} - -export interface ISize { - x: number; - y: number; -} - -export interface IInsightsConfig { - cacheId?: string; - type: any; - name?: string; - when?: string; - gridItemConfig?: ISize; - query?: string | Array; - queryFile?: string; - details?: IInsightsConfigDetails; - autoRefreshInterval?: number; -} -export interface IInsightTypeContrib { - id: string; - contrib: IInsightsConfig; -} \ No newline at end of file diff --git a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces.ts b/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces.ts deleted file mode 100644 index dc933193e3..0000000000 --- a/src/sql/workbench/parts/dashboard/widgets/insights/views/charts/interfaces.ts +++ /dev/null @@ -1,82 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { Color } from 'vs/base/common/color'; -import * as types from 'vs/base/common/types'; - -import { mixin } from 'sql/base/common/objects'; - -export enum ChartType { - Bar = 'bar', - Doughnut = 'doughnut', - HorizontalBar = 'horizontalBar', - Line = 'line', - Pie = 'pie', - TimeSeries = 'timeSeries', - Scatter = 'scatter' -} - -export enum DataDirection { - Vertical = 'vertical', - Horizontal = 'horizontal' -} - -export enum LegendPosition { - Top = 'top', - Bottom = 'bottom', - Left = 'left', - Right = 'right', - None = 'none' -} - -export enum DataType { - Number = 'number', - Point = 'point' -} - -export function customMixin(destination: any, source: any, overwrite?: boolean): any { - if (types.isObject(source)) { - mixin(destination, source, overwrite, customMixin); - } else if (types.isArray(source)) { - for (let i = 0; i < source.length; i++) { - if (destination[i]) { - mixin(destination[i], source[i], overwrite, customMixin); - } else { - destination[i] = source[i]; - } - } - } else { - destination = source; - } - return destination; -} - -export interface IDataSet { - data: Array; - label?: string; -} - -export interface IPointDataSet { - data: Array<{ x: number | string, y: number }>; - label?: string; - fill: boolean; - backgroundColor?: Color; -} - -export interface IChartConfig { - colorMap?: { [column: string]: string }; - labelFirstColumn?: boolean; - legendPosition?: LegendPosition; - dataDirection?: DataDirection; - columnsAsLabels?: boolean; - showTopNData?: number; -} - -export const defaultChartConfig: IChartConfig = { - labelFirstColumn: true, - columnsAsLabels: true, - legendPosition: LegendPosition.Top, - dataDirection: DataDirection.Vertical -}; diff --git a/src/sql/workbench/parts/dataExplorer/electron-browser/nodeCommands.ts b/src/sql/workbench/parts/dataExplorer/electron-browser/nodeCommands.ts index 1b008bf3fe..3fe0a3033f 100644 --- a/src/sql/workbench/parts/dataExplorer/electron-browser/nodeCommands.ts +++ b/src/sql/workbench/parts/dataExplorer/electron-browser/nodeCommands.ts @@ -15,8 +15,8 @@ import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/c import { IViewsRegistry, Extensions } from 'vs/workbench/common/views'; import { IProgressService } from 'vs/platform/progress/common/progress'; import { Registry } from 'vs/platform/registry/common/platform'; -import { NewNotebookAction } from 'sql/workbench/parts/notebook/notebookActions'; import { BackupAction, RestoreAction } from 'sql/workbench/common/actions'; +import { NewNotebookAction } from 'sql/workbench/parts/notebook/electron-browser/notebookActions'; export const DISCONNECT_COMMAND_ID = 'dataExplorer.disconnect'; export const MANAGE_COMMAND_ID = 'dataExplorer.manage'; diff --git a/src/sqltest/parts/dataExplorer/dataExplorerViewlet.test.ts b/src/sql/workbench/parts/dataExplorer/test/browser/dataExplorerViewlet.test.ts similarity index 100% rename from src/sqltest/parts/dataExplorer/dataExplorerViewlet.test.ts rename to src/sql/workbench/parts/dataExplorer/test/browser/dataExplorerViewlet.test.ts diff --git a/src/sql/workbench/parts/editData/browser/editDataEditor.ts b/src/sql/workbench/parts/editData/browser/editDataEditor.ts index ee3f8fea0d..b024f748f8 100644 --- a/src/sql/workbench/parts/editData/browser/editDataEditor.ts +++ b/src/sql/workbench/parts/editData/browser/editDataEditor.ts @@ -22,7 +22,7 @@ import { Taskbar, ITaskbarContent } from 'sql/base/browser/ui/taskbar/taskbar'; import { IActionViewItem } from 'vs/base/browser/ui/actionbar/actionbar'; import { Action } from 'vs/base/common/actions'; import { IQueryModelService } from 'sql/platform/query/common/queryModel'; -import { IEditorDescriptorService } from 'sql/workbench/services/queryEditor/common/editorDescriptorService'; +import { IEditorDescriptorService } from 'sql/workbench/services/queryEditor/browser/editorDescriptorService'; import { RefreshTableAction, StopRefreshTableAction, ChangeMaxRowsAction, ChangeMaxRowsActionItem, ShowQueryPaneAction } from 'sql/workbench/parts/editData/browser/editDataActions'; diff --git a/src/sql/workbench/parts/editData/browser/editDataResultsEditor.ts b/src/sql/workbench/parts/editData/browser/editDataResultsEditor.ts index 4a1b5a3686..03807fc803 100644 --- a/src/sql/workbench/parts/editData/browser/editDataResultsEditor.ts +++ b/src/sql/workbench/parts/editData/browser/editDataResultsEditor.ts @@ -15,9 +15,9 @@ import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import * as types from 'vs/base/common/types'; import { IQueryModelService } from 'sql/platform/query/common/queryModel'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; import { BareResultsGridInfo } from 'sql/workbench/parts/query/browser/queryResultsEditor'; -import { IEditDataComponentParams } from 'sql/platform/bootstrap/node/bootstrapParams'; +import { IEditDataComponentParams } from 'sql/platform/bootstrap/common/bootstrapParams'; import { EditDataModule } from 'sql/workbench/parts/grid/views/editData/editData.module'; import { EDITDATA_SELECTOR } from 'sql/workbench/parts/grid/views/editData/editData.component'; import { EditDataResultsInput } from 'sql/workbench/parts/editData/common/editDataResultsInput'; diff --git a/src/sql/workbench/parts/extensions/browser/contributionRenders.ts b/src/sql/workbench/parts/extensions/browser/contributionRenders.ts index ec3c5d8d27..f2946db552 100644 --- a/src/sql/workbench/parts/extensions/browser/contributionRenders.ts +++ b/src/sql/workbench/parts/extensions/browser/contributionRenders.ts @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ import { append, $ } from 'vs/base/browser/dom'; -import { IInsightTypeContrib } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { IDashboardTabContrib } from 'sql/workbench/parts/dashboard/common/dashboardTab.contribution'; +import { IInsightTypeContrib } from 'sql/workbench/parts/dashboard/browser/widgets/insights/interfaces'; +import { IDashboardTabContrib } from 'sql/workbench/parts/dashboard/browser/core/dashboardTab.contribution'; import { localize } from 'vs/nls'; import { IExtensionManifest } from 'vs/platform/extensions/common/extensions'; diff --git a/src/sql/workbench/parts/grid/views/editData/editData.component.ts b/src/sql/workbench/parts/grid/views/editData/editData.component.ts index 567b43e1f9..904643edc9 100644 --- a/src/sql/workbench/parts/grid/views/editData/editData.component.ts +++ b/src/sql/workbench/parts/grid/views/editData/editData.component.ts @@ -12,11 +12,10 @@ import { VirtualizedCollection } from 'angular2-slickgrid'; import { IGridDataSet } from 'sql/workbench/parts/grid/common/interfaces'; import * as Services from 'sql/base/browser/ui/table/formatters'; -import { IEditDataComponentParams } from 'sql/platform/bootstrap/node/bootstrapParams'; +import { IEditDataComponentParams, IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; import { GridParentComponent } from 'sql/workbench/parts/grid/views/gridParentComponent'; import { EditDataGridActionProvider } from 'sql/workbench/parts/grid/views/editData/editDataGridActions'; import { IQueryEditorService } from 'sql/workbench/services/queryEditor/common/queryEditorService'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; import { RowNumberColumn } from 'sql/base/browser/ui/table/plugins/rowNumberColumn.plugin'; import { AutoColumnSize } from 'sql/base/browser/ui/table/plugins/autoSizeColumns.plugin'; import { AdditionalKeyBindings } from 'sql/base/browser/ui/table/plugins/additionalKeyBindings.plugin'; @@ -40,7 +39,7 @@ export const EDITDATA_SELECTOR: string = 'editdata-component'; @Component({ selector: EDITDATA_SELECTOR, host: { '(window:keydown)': 'keyEvent($event)', '(window:gridnav)': 'keyEvent($event)' }, - templateUrl: decodeURI(require.toUrl('sql/workbench/parts/grid/views/editData/editData.component.html')) + templateUrl: decodeURI(require.toUrl('./editData.component.html')) }) export class EditDataComponent extends GridParentComponent implements OnInit, OnDestroy { // The time(in milliseconds) we wait before refreshing the grid. diff --git a/src/sql/workbench/parts/grid/views/editData/editData.module.ts b/src/sql/workbench/parts/grid/views/editData/editData.module.ts index 8bce49e88d..41f9c546af 100644 --- a/src/sql/workbench/parts/grid/views/editData/editData.module.ts +++ b/src/sql/workbench/parts/grid/views/editData/editData.module.ts @@ -10,9 +10,10 @@ import { BrowserModule } from '@angular/platform-browser'; import { SlickGrid } from 'angular2-slickgrid'; import { EditDataComponent } from 'sql/workbench/parts/grid/views/editData/editData.component'; -import { IBootstrapParams, ISelector, providerIterator } from 'sql/platform/bootstrap/node/bootstrapService'; +import { providerIterator } from 'sql/platform/bootstrap/browser/bootstrapService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; +import { IBootstrapParams, ISelector } from 'sql/platform/bootstrap/common/bootstrapParams'; export const EditDataModule = (params: IBootstrapParams, selector: string, instantiationService: IInstantiationService): Type => { diff --git a/src/sql/workbench/parts/grid/views/gridParentComponent.ts b/src/sql/workbench/parts/grid/views/gridParentComponent.ts index 3444926b81..4c2187e4a5 100644 --- a/src/sql/workbench/parts/grid/views/gridParentComponent.ts +++ b/src/sql/workbench/parts/grid/views/gridParentComponent.ts @@ -9,7 +9,6 @@ import 'vs/css!sql/workbench/parts/grid/media/styles'; import { Subscription, Subject } from 'rxjs/Rx'; import { ElementRef, QueryList, ChangeDetectorRef, ViewChildren } from '@angular/core'; import { SlickGrid } from 'angular2-slickgrid'; -import { toDisposableSubscription } from 'sql/base/node/rxjsUtils'; import * as Constants from 'sql/workbench/parts/query/common/constants'; import * as LocalizedConstants from 'sql/workbench/parts/query/common/localizedConstants'; import { IGridInfo, IGridDataSet, SaveFormat } from 'sql/workbench/parts/grid/common/interfaces'; @@ -31,6 +30,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { ILogService } from 'vs/platform/log/common/log'; +import { subscriptionToDisposable } from 'sql/base/browser/lifecycle'; export abstract class GridParentComponent { // CONSTANTS @@ -174,7 +174,7 @@ export abstract class GridParentComponent { */ protected subscribeWithDispose(subject: Subject, event: (value: any) => void): void { let sub: Subscription = subject.subscribe(event); - this.toDispose.push(toDisposableSubscription(sub)); + this.toDispose.push(subscriptionToDisposable(sub)); } private bindKeys(contextKeyService: IContextKeyService): void { diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/agentView.component.html b/src/sql/workbench/parts/jobManagement/browser/agentView.component.html similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/agentView.component.html rename to src/sql/workbench/parts/jobManagement/browser/agentView.component.html diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/agentView.component.ts b/src/sql/workbench/parts/jobManagement/browser/agentView.component.ts similarity index 98% rename from src/sql/workbench/parts/jobManagement/electron-browser/agentView.component.ts rename to src/sql/workbench/parts/jobManagement/browser/agentView.component.ts index d43c324eca..629cfba617 100644 --- a/src/sql/workbench/parts/jobManagement/electron-browser/agentView.component.ts +++ b/src/sql/workbench/parts/jobManagement/browser/agentView.component.ts @@ -8,7 +8,7 @@ import 'vs/css!./media/jobs'; import * as nls from 'vs/nls'; import { Component, Inject, forwardRef, ChangeDetectorRef, ViewChild, Injectable } from '@angular/core'; import { AgentJobInfo } from 'azdata'; -import { PanelComponent, IPanelOptions, NavigationBarLayout } from 'sql/base/electron-browser/ui/panel/panel.component'; +import { PanelComponent, IPanelOptions, NavigationBarLayout } from 'sql/base/browser/ui/panel/panel.component'; import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/alertsView.component.html b/src/sql/workbench/parts/jobManagement/browser/alertsView.component.html similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/alertsView.component.html rename to src/sql/workbench/parts/jobManagement/browser/alertsView.component.html diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/alertsView.component.ts b/src/sql/workbench/parts/jobManagement/browser/alertsView.component.ts similarity index 96% rename from src/sql/workbench/parts/jobManagement/electron-browser/alertsView.component.ts rename to src/sql/workbench/parts/jobManagement/browser/alertsView.component.ts index 988930071f..e7689864f9 100644 --- a/src/sql/workbench/parts/jobManagement/electron-browser/alertsView.component.ts +++ b/src/sql/workbench/parts/jobManagement/browser/alertsView.component.ts @@ -9,13 +9,13 @@ import * as dom from 'vs/base/browser/dom'; import * as nls from 'vs/nls'; import * as azdata from 'azdata'; import { Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild, OnInit, OnDestroy } from '@angular/core'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { Table } from 'sql/base/browser/ui/table/table'; -import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/agentView.component'; +import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/browser/agentView.component'; import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces'; -import { EditAlertAction, DeleteAlertAction, NewAlertAction } from 'sql/platform/jobManagement/common/jobActions'; -import { JobManagementView, JobActionContext } from 'sql/workbench/parts/jobManagement/electron-browser/jobManagementView'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { EditAlertAction, DeleteAlertAction, NewAlertAction } from 'sql/platform/jobManagement/browser/jobActions'; +import { JobManagementView, JobActionContext } from 'sql/workbench/parts/jobManagement/browser/jobManagementView'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IAction } from 'vs/base/common/actions'; diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobHistory.component.html b/src/sql/workbench/parts/jobManagement/browser/jobHistory.component.html similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobHistory.component.html rename to src/sql/workbench/parts/jobManagement/browser/jobHistory.component.html diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobHistory.component.ts b/src/sql/workbench/parts/jobManagement/browser/jobHistory.component.ts similarity index 96% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobHistory.component.ts rename to src/sql/workbench/parts/jobManagement/browser/jobHistory.component.ts index 1c886cee83..9220415caa 100644 --- a/src/sql/workbench/parts/jobManagement/electron-browser/jobHistory.component.ts +++ b/src/sql/workbench/parts/jobManagement/browser/jobHistory.component.ts @@ -10,29 +10,29 @@ import * as nls from 'vs/nls'; import * as dom from 'vs/base/browser/dom'; import { OnInit, Component, Inject, Input, forwardRef, ElementRef, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, Injectable } from '@angular/core'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; -import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/agentView.component'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { RunJobAction, StopJobAction, EditJobAction, JobsRefreshAction } from 'sql/platform/jobManagement/common/jobActions'; +import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/browser/agentView.component'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { RunJobAction, StopJobAction, EditJobAction, JobsRefreshAction } from 'sql/platform/jobManagement/browser/jobActions'; import { JobCacheObject } from 'sql/platform/jobManagement/common/jobManagementService'; import { JobManagementUtilities } from 'sql/platform/jobManagement/common/jobManagementUtilities'; import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces'; import { JobHistoryController, JobHistoryDataSource, JobHistoryRenderer, JobHistoryFilter, JobHistoryModel, JobHistoryRow -} from 'sql/workbench/parts/jobManagement/electron-browser/jobHistoryTree'; -import { JobStepsViewRow } from 'sql/workbench/parts/jobManagement/electron-browser/jobStepsViewTree'; +} from 'sql/workbench/parts/jobManagement/browser/jobHistoryTree'; +import { JobStepsViewRow } from 'sql/workbench/parts/jobManagement/browser/jobStepsViewTree'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { attachListStyler } from 'vs/platform/theme/common/styler'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ScrollbarVisibility } from 'vs/base/common/scrollable'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; -import { JobManagementView, JobActionContext } from 'sql/workbench/parts/jobManagement/electron-browser/jobManagementView'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { JobManagementView, JobActionContext } from 'sql/workbench/parts/jobManagement/browser/jobManagementView'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; export const DASHBOARD_SELECTOR: string = 'jobhistory-component'; diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobHistoryTree.ts b/src/sql/workbench/parts/jobManagement/browser/jobHistoryTree.ts similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobHistoryTree.ts rename to src/sql/workbench/parts/jobManagement/browser/jobHistoryTree.ts diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobManagementView.ts b/src/sql/workbench/parts/jobManagement/browser/jobManagementView.ts similarity index 94% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobManagementView.ts rename to src/sql/workbench/parts/jobManagement/browser/jobManagementView.ts index 4c0cc2ffa8..2370d9b69d 100644 --- a/src/sql/workbench/parts/jobManagement/electron-browser/jobManagementView.ts +++ b/src/sql/workbench/parts/jobManagement/browser/jobManagementView.ts @@ -6,16 +6,16 @@ import * as azdata from 'azdata'; import { ElementRef, AfterContentChecked, ViewChild } from '@angular/core'; import { Table } from 'sql/base/browser/ui/table/table'; -import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/agentView.component'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/browser/agentView.component'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { IAction, Action } from 'vs/base/common/actions'; import { ResolvedKeybinding } from 'vs/base/common/keyCodes'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; -import { JobsRefreshAction, IJobActionInfo } from 'sql/platform/jobManagement/common/jobActions'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { JobsRefreshAction, IJobActionInfo } from 'sql/platform/jobManagement/browser/jobActions'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; import { ITableMouseEvent } from 'sql/base/browser/ui/table/interfaces'; diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobStepsView.component.html b/src/sql/workbench/parts/jobManagement/browser/jobStepsView.component.html similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobStepsView.component.html rename to src/sql/workbench/parts/jobManagement/browser/jobStepsView.component.html diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobStepsView.component.ts b/src/sql/workbench/parts/jobManagement/browser/jobStepsView.component.ts similarity index 93% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobStepsView.component.ts rename to src/sql/workbench/parts/jobManagement/browser/jobStepsView.component.ts index 3779b717c8..4e6dffafda 100644 --- a/src/sql/workbench/parts/jobManagement/electron-browser/jobStepsView.component.ts +++ b/src/sql/workbench/parts/jobManagement/browser/jobStepsView.component.ts @@ -11,20 +11,20 @@ import { attachListStyler } from 'vs/platform/theme/common/styler'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; import { ScrollbarVisibility } from 'vs/base/common/scrollable'; import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { JobStepsViewController, JobStepsViewDataSource, JobStepsViewFilter, JobStepsViewRenderer, JobStepsViewModel -} from 'sql/workbench/parts/jobManagement/electron-browser/jobStepsViewTree'; -import { JobHistoryComponent } from 'sql/workbench/parts/jobManagement/electron-browser/jobHistory.component'; -import { JobManagementView } from 'sql/workbench/parts/jobManagement/electron-browser/jobManagementView'; +} from 'sql/workbench/parts/jobManagement/browser/jobStepsViewTree'; +import { JobHistoryComponent } from 'sql/workbench/parts/jobManagement/browser/jobHistory.component'; +import { JobManagementView } from 'sql/workbench/parts/jobManagement/browser/jobManagementView'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; export const JOBSTEPSVIEW_SELECTOR: string = 'jobstepsview-component'; diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobStepsViewTree.ts b/src/sql/workbench/parts/jobManagement/browser/jobStepsViewTree.ts similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobStepsViewTree.ts rename to src/sql/workbench/parts/jobManagement/browser/jobStepsViewTree.ts diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobsView.component.html b/src/sql/workbench/parts/jobManagement/browser/jobsView.component.html similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobsView.component.html rename to src/sql/workbench/parts/jobManagement/browser/jobsView.component.html diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/jobsView.component.ts b/src/sql/workbench/parts/jobManagement/browser/jobsView.component.ts similarity index 98% rename from src/sql/workbench/parts/jobManagement/electron-browser/jobsView.component.ts rename to src/sql/workbench/parts/jobManagement/browser/jobsView.component.ts index a15c0dae90..17460f1790 100644 --- a/src/sql/workbench/parts/jobManagement/electron-browser/jobsView.component.ts +++ b/src/sql/workbench/parts/jobManagement/browser/jobsView.component.ts @@ -9,17 +9,17 @@ import * as azdata from 'azdata'; import * as nls from 'vs/nls'; import * as dom from 'vs/base/browser/dom'; import { Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild, OnInit, OnDestroy } from '@angular/core'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { Table } from 'sql/base/browser/ui/table/table'; -import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/agentView.component'; +import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/browser/agentView.component'; import { RowDetailView } from 'sql/base/browser/ui/table/plugins/rowDetailView'; import { JobCacheObject } from 'sql/platform/jobManagement/common/jobManagementService'; -import { EditJobAction, DeleteJobAction, NewJobAction, RunJobAction } from 'sql/platform/jobManagement/common/jobActions'; +import { EditJobAction, DeleteJobAction, NewJobAction, RunJobAction } from 'sql/platform/jobManagement/browser/jobActions'; import { JobManagementUtilities } from 'sql/platform/jobManagement/common/jobManagementUtilities'; import { HeaderFilter } from 'sql/base/browser/ui/table/plugins/headerFilter.plugin'; import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces'; -import { JobManagementView, JobActionContext } from 'sql/workbench/parts/jobManagement/electron-browser/jobManagementView'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; +import { JobManagementView, JobActionContext } from 'sql/workbench/parts/jobManagement/browser/jobManagementView'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; @@ -30,7 +30,7 @@ import { escape } from 'sql/base/common/strings'; import { IWorkbenchThemeService, IColorTheme } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { tableBackground, cellBackground, cellBorderColor } from 'sql/platform/theme/common/colors'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { attachButtonStyler } from 'sql/platform/theme/common/styler'; export const JOBSVIEW_SELECTOR: string = 'jobsview-component'; diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/alert.svg b/src/sql/workbench/parts/jobManagement/browser/media/alert.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/alert.svg rename to src/sql/workbench/parts/jobManagement/browser/media/alert.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/alert_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/alert_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/alert_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/alert_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/back.svg b/src/sql/workbench/parts/jobManagement/browser/media/back.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/back.svg rename to src/sql/workbench/parts/jobManagement/browser/media/back.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/back_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/back_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/back_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/back_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/detailview.css b/src/sql/workbench/parts/jobManagement/browser/media/detailview.css similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/detailview.css rename to src/sql/workbench/parts/jobManagement/browser/media/detailview.css diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/edit.svg b/src/sql/workbench/parts/jobManagement/browser/media/edit.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/edit.svg rename to src/sql/workbench/parts/jobManagement/browser/media/edit.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/edit_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/edit_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/edit_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/edit_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/failed.svg b/src/sql/workbench/parts/jobManagement/browser/media/failed.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/failed.svg rename to src/sql/workbench/parts/jobManagement/browser/media/failed.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/job.svg b/src/sql/workbench/parts/jobManagement/browser/media/job.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/job.svg rename to src/sql/workbench/parts/jobManagement/browser/media/job.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/jobHistory.css b/src/sql/workbench/parts/jobManagement/browser/media/jobHistory.css similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/jobHistory.css rename to src/sql/workbench/parts/jobManagement/browser/media/jobHistory.css diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/jobStepsView.css b/src/sql/workbench/parts/jobManagement/browser/media/jobStepsView.css similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/jobStepsView.css rename to src/sql/workbench/parts/jobManagement/browser/media/jobStepsView.css diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/job_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/job_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/job_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/job_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/jobs.css b/src/sql/workbench/parts/jobManagement/browser/media/jobs.css similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/jobs.css rename to src/sql/workbench/parts/jobManagement/browser/media/jobs.css diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/new.svg b/src/sql/workbench/parts/jobManagement/browser/media/new.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/new.svg rename to src/sql/workbench/parts/jobManagement/browser/media/new.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/new_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/new_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/new_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/new_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/operator.svg b/src/sql/workbench/parts/jobManagement/browser/media/operator.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/operator.svg rename to src/sql/workbench/parts/jobManagement/browser/media/operator.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/operator_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/operator_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/operator_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/operator_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/proxy.svg b/src/sql/workbench/parts/jobManagement/browser/media/proxy.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/proxy.svg rename to src/sql/workbench/parts/jobManagement/browser/media/proxy.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/proxy_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/proxy_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/proxy_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/proxy_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/refresh.svg b/src/sql/workbench/parts/jobManagement/browser/media/refresh.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/refresh.svg rename to src/sql/workbench/parts/jobManagement/browser/media/refresh.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/refresh_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/refresh_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/refresh_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/refresh_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/step.svg b/src/sql/workbench/parts/jobManagement/browser/media/step.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/step.svg rename to src/sql/workbench/parts/jobManagement/browser/media/step.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/step_inverse.svg b/src/sql/workbench/parts/jobManagement/browser/media/step_inverse.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/step_inverse.svg rename to src/sql/workbench/parts/jobManagement/browser/media/step_inverse.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/media/success_complete.svg b/src/sql/workbench/parts/jobManagement/browser/media/success_complete.svg similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/media/success_complete.svg rename to src/sql/workbench/parts/jobManagement/browser/media/success_complete.svg diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/operatorsView.component.html b/src/sql/workbench/parts/jobManagement/browser/operatorsView.component.html similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/operatorsView.component.html rename to src/sql/workbench/parts/jobManagement/browser/operatorsView.component.html diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/operatorsView.component.ts b/src/sql/workbench/parts/jobManagement/browser/operatorsView.component.ts similarity index 96% rename from src/sql/workbench/parts/jobManagement/electron-browser/operatorsView.component.ts rename to src/sql/workbench/parts/jobManagement/browser/operatorsView.component.ts index 9f392f1cbc..4dd9fa7835 100644 --- a/src/sql/workbench/parts/jobManagement/electron-browser/operatorsView.component.ts +++ b/src/sql/workbench/parts/jobManagement/browser/operatorsView.component.ts @@ -10,12 +10,12 @@ import * as nls from 'vs/nls'; import * as azdata from 'azdata'; import { Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild, OnInit, OnDestroy } from '@angular/core'; import { Table } from 'sql/base/browser/ui/table/table'; -import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/agentView.component'; +import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/browser/agentView.component'; import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces'; -import { EditOperatorAction, DeleteOperatorAction, NewOperatorAction } from 'sql/platform/jobManagement/common/jobActions'; -import { JobManagementView } from 'sql/workbench/parts/jobManagement/electron-browser/jobManagementView'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; +import { EditOperatorAction, DeleteOperatorAction, NewOperatorAction } from 'sql/platform/jobManagement/browser/jobActions'; +import { JobManagementView } from 'sql/workbench/parts/jobManagement/browser/jobManagementView'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/proxiesView.component.html b/src/sql/workbench/parts/jobManagement/browser/proxiesView.component.html similarity index 100% rename from src/sql/workbench/parts/jobManagement/electron-browser/proxiesView.component.html rename to src/sql/workbench/parts/jobManagement/browser/proxiesView.component.html diff --git a/src/sql/workbench/parts/jobManagement/electron-browser/proxiesView.component.ts b/src/sql/workbench/parts/jobManagement/browser/proxiesView.component.ts similarity index 96% rename from src/sql/workbench/parts/jobManagement/electron-browser/proxiesView.component.ts rename to src/sql/workbench/parts/jobManagement/browser/proxiesView.component.ts index f9d83a0975..3735a95ead 100644 --- a/src/sql/workbench/parts/jobManagement/electron-browser/proxiesView.component.ts +++ b/src/sql/workbench/parts/jobManagement/browser/proxiesView.component.ts @@ -10,12 +10,12 @@ import * as azdata from 'azdata'; import * as nls from 'vs/nls'; import { Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild, OnInit, OnDestroy } from '@angular/core'; import { Table } from 'sql/base/browser/ui/table/table'; -import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/electron-browser/agentView.component'; +import { AgentViewComponent } from 'sql/workbench/parts/jobManagement/browser/agentView.component'; import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces'; -import { EditProxyAction, DeleteProxyAction, NewProxyAction } from 'sql/platform/jobManagement/common/jobActions'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { TabChild } from 'sql/base/electron-browser/ui/panel/tab.component'; -import { JobManagementView } from 'sql/workbench/parts/jobManagement/electron-browser/jobManagementView'; +import { EditProxyAction, DeleteProxyAction, NewProxyAction } from 'sql/platform/jobManagement/browser/jobActions'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; +import { JobManagementView } from 'sql/workbench/parts/jobManagement/browser/jobManagementView'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IAction } from 'vs/base/common/actions'; diff --git a/src/sql/workbench/parts/notebook/notebook.css b/src/sql/workbench/parts/notebook/browser/notebook.css similarity index 100% rename from src/sql/workbench/parts/notebook/notebook.css rename to src/sql/workbench/parts/notebook/browser/notebook.css diff --git a/src/sql/workbench/parts/notebook/notebookStyles.ts b/src/sql/workbench/parts/notebook/browser/notebookStyles.ts similarity index 100% rename from src/sql/workbench/parts/notebook/notebookStyles.ts rename to src/sql/workbench/parts/notebook/browser/notebookStyles.ts diff --git a/src/sql/workbench/parts/notebook/outputs/tableRenderers.ts b/src/sql/workbench/parts/notebook/browser/outputs/tableRenderers.ts similarity index 99% rename from src/sql/workbench/parts/notebook/outputs/tableRenderers.ts rename to src/sql/workbench/parts/notebook/browser/outputs/tableRenderers.ts index b776a46f93..aadfff83f6 100644 --- a/src/sql/workbench/parts/notebook/outputs/tableRenderers.ts +++ b/src/sql/workbench/parts/notebook/browser/outputs/tableRenderers.ts @@ -14,7 +14,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService'; import { MouseWheelSupport } from 'sql/base/browser/ui/table/plugins/mousewheelTableScroll.plugin'; import { AutoColumnSize } from 'sql/base/browser/ui/table/plugins/autoSizeColumns.plugin'; import { AdditionalKeyBindings } from 'sql/base/browser/ui/table/plugins/additionalKeyBindings.plugin'; -import { RESULTS_GRID_DEFAULTS } from 'sql/workbench/parts/query/browser/queryResultsEditor'; +import { RESULTS_GRID_DEFAULTS } from 'sql/workbench/parts/query/common/resultsGridContribution'; /** * Render DataResource as a grid into a host node. diff --git a/src/sql/workbench/parts/notebook/models/contracts.ts b/src/sql/workbench/parts/notebook/common/models/contracts.ts similarity index 100% rename from src/sql/workbench/parts/notebook/models/contracts.ts rename to src/sql/workbench/parts/notebook/common/models/contracts.ts diff --git a/src/sql/workbench/parts/notebook/models/jsonext.ts b/src/sql/workbench/parts/notebook/common/models/jsonext.ts similarity index 100% rename from src/sql/workbench/parts/notebook/models/jsonext.ts rename to src/sql/workbench/parts/notebook/common/models/jsonext.ts diff --git a/src/sql/workbench/parts/notebook/outputs/common/mimemodel.ts b/src/sql/workbench/parts/notebook/common/models/mimemodel.ts similarity index 97% rename from src/sql/workbench/parts/notebook/outputs/common/mimemodel.ts rename to src/sql/workbench/parts/notebook/common/models/mimemodel.ts index 04bf55db37..3a5bb7f511 100644 --- a/src/sql/workbench/parts/notebook/outputs/common/mimemodel.ts +++ b/src/sql/workbench/parts/notebook/common/models/mimemodel.ts @@ -3,7 +3,7 @@ | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ import { IRenderMime } from './renderMimeInterfaces'; -import { ReadonlyJSONObject } from '../../models/jsonext'; +import { ReadonlyJSONObject } from './jsonext'; import { IThemeService } from 'vs/platform/theme/common/themeService'; /** diff --git a/src/sql/workbench/parts/notebook/models/nbformat.ts b/src/sql/workbench/parts/notebook/common/models/nbformat.ts similarity index 100% rename from src/sql/workbench/parts/notebook/models/nbformat.ts rename to src/sql/workbench/parts/notebook/common/models/nbformat.ts diff --git a/src/sql/workbench/parts/notebook/models/notebookConnection.ts b/src/sql/workbench/parts/notebook/common/models/notebookConnection.ts similarity index 100% rename from src/sql/workbench/parts/notebook/models/notebookConnection.ts rename to src/sql/workbench/parts/notebook/common/models/notebookConnection.ts diff --git a/src/sql/workbench/parts/notebook/notebookConstants.ts b/src/sql/workbench/parts/notebook/common/models/notebookConstants.ts similarity index 100% rename from src/sql/workbench/parts/notebook/notebookConstants.ts rename to src/sql/workbench/parts/notebook/common/models/notebookConstants.ts diff --git a/src/sql/workbench/parts/notebook/outputs/common/outputProcessor.ts b/src/sql/workbench/parts/notebook/common/models/outputProcessor.ts similarity index 96% rename from src/sql/workbench/parts/notebook/outputs/common/outputProcessor.ts rename to src/sql/workbench/parts/notebook/common/models/outputProcessor.ts index a687f9c8f6..8ba6eeec25 100644 --- a/src/sql/workbench/parts/notebook/outputs/common/outputProcessor.ts +++ b/src/sql/workbench/parts/notebook/common/models/outputProcessor.ts @@ -4,9 +4,9 @@ | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ -import { JSONObject, isPrimitive } from '../../models/jsonext'; +import { JSONObject, isPrimitive } from './jsonext'; import { MimeModel } from './mimemodel'; -import { nbformat } from '../../models/nbformat'; +import { nbformat } from './nbformat'; import { nb } from 'azdata'; /** diff --git a/src/sql/workbench/parts/notebook/outputs/common/renderMimeInterfaces.ts b/src/sql/workbench/parts/notebook/common/models/renderMimeInterfaces.ts similarity index 98% rename from src/sql/workbench/parts/notebook/outputs/common/renderMimeInterfaces.ts rename to src/sql/workbench/parts/notebook/common/models/renderMimeInterfaces.ts index e47396b3ea..8173db6fcd 100644 --- a/src/sql/workbench/parts/notebook/outputs/common/renderMimeInterfaces.ts +++ b/src/sql/workbench/parts/notebook/common/models/renderMimeInterfaces.ts @@ -3,7 +3,7 @@ | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ -import { ReadonlyJSONObject } from '../../models/jsonext'; +import { ReadonlyJSONObject } from './jsonext'; import { IThemeService } from 'vs/platform/theme/common/themeService'; /** diff --git a/src/sql/workbench/parts/notebook/outputs/common/url.ts b/src/sql/workbench/parts/notebook/common/models/url.ts similarity index 98% rename from src/sql/workbench/parts/notebook/outputs/common/url.ts rename to src/sql/workbench/parts/notebook/common/models/url.ts index 33cce2f760..1092c2d78a 100644 --- a/src/sql/workbench/parts/notebook/outputs/common/url.ts +++ b/src/sql/workbench/parts/notebook/common/models/url.ts @@ -1,7 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { JSONObject } from '../../models/jsonext'; +import { JSONObject } from './jsonext'; import { URI } from 'vs/base/common/uri'; /** diff --git a/src/sql/workbench/parts/notebook/cellToggleMoreActions.ts b/src/sql/workbench/parts/notebook/electron-browser/cellToggleMoreActions.ts similarity index 93% rename from src/sql/workbench/parts/notebook/cellToggleMoreActions.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellToggleMoreActions.ts index a30bf8a9ff..f91f32e601 100644 --- a/src/sql/workbench/parts/notebook/cellToggleMoreActions.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellToggleMoreActions.ts @@ -12,13 +12,13 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; import * as DOM from 'vs/base/browser/dom'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { CellContext, CellActionBase } from 'sql/workbench/parts/notebook/cellViews/codeActions'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; -import { ToggleMoreWidgetAction } from 'sql/workbench/parts/dashboard/common/actions'; -import { CellTypes, CellType } from 'sql/workbench/parts/notebook/models/contracts'; -import { CellModel } from 'sql/workbench/parts/notebook/models/cell'; import { INotebookService } from 'sql/workbench/services/notebook/common/notebookService'; +import { CellActionBase, CellContext } from 'sql/workbench/parts/notebook/electron-browser/cellViews/codeActions'; +import { CellTypes, CellType } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { ToggleMoreWidgetAction } from 'sql/workbench/parts/dashboard/browser/core/actions'; +import { CellModel } from 'sql/workbench/parts/notebook/node/models/cell'; export const HIDDEN_CLASS = 'actionhidden'; @@ -181,4 +181,4 @@ export class RunCellsAction extends CellActionBase { } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/src/sql/workbench/parts/notebook/cellViews/code.component.html b/src/sql/workbench/parts/notebook/electron-browser/cellViews/code.component.html similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/code.component.html rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/code.component.html diff --git a/src/sql/workbench/parts/notebook/cellViews/code.component.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/code.component.ts similarity index 95% rename from src/sql/workbench/parts/notebook/cellViews/code.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/code.component.ts index 62943bf146..cad2e83983 100644 --- a/src/sql/workbench/parts/notebook/cellViews/code.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/code.component.ts @@ -6,13 +6,13 @@ import 'vs/css!./code'; import { OnInit, Component, Input, Inject, ElementRef, ViewChild, Output, EventEmitter, OnChanges, SimpleChange, forwardRef, ChangeDetectorRef } from '@angular/core'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; -import { QueryTextEditor } from 'sql/workbench/electron-browser/modelComponents/queryTextEditor'; -import { CellToggleMoreActions } from 'sql/workbench/parts/notebook/cellToggleMoreActions'; -import { ICellModel, notebookConstants, CellExecutionState } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; +import { QueryTextEditor } from 'sql/workbench/browser/modelComponents/queryTextEditor'; +import { CellToggleMoreActions } from 'sql/workbench/parts/notebook/electron-browser/cellToggleMoreActions'; +import { ICellModel, notebookConstants, CellExecutionState } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; -import { RunCellAction, CellContext } from 'sql/workbench/parts/notebook/cellViews/codeActions'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; +import { RunCellAction, CellContext } from 'sql/workbench/parts/notebook/electron-browser/cellViews/codeActions'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import * as themeColors from 'vs/workbench/common/theme'; @@ -27,9 +27,9 @@ import { IModeService } from 'vs/editor/common/services/modeService'; import { IModelService } from 'vs/editor/common/services/modelService'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { Event, Emitter } from 'vs/base/common/event'; -import { CellTypes } from 'sql/workbench/parts/notebook/models/contracts'; +import { CellTypes } from 'sql/workbench/parts/notebook/common/models/contracts'; import { OVERRIDE_EDITOR_THEMING_SETTING } from 'sql/workbench/services/notebook/common/notebookService'; -import * as notebookUtils from 'sql/workbench/parts/notebook/notebookUtils'; +import * as notebookUtils from 'sql/workbench/parts/notebook/node/models/notebookUtils'; import { UntitledEditorModel } from 'vs/workbench/common/editor/untitledEditorModel'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ILogService } from 'vs/platform/log/common/log'; diff --git a/src/sql/workbench/parts/notebook/cellViews/code.css b/src/sql/workbench/parts/notebook/electron-browser/cellViews/code.css similarity index 87% rename from src/sql/workbench/parts/notebook/cellViews/code.css rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/code.css index 1ac39fac02..b66baaaeb2 100644 --- a/src/sql/workbench/parts/notebook/cellViews/code.css +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/code.css @@ -31,18 +31,18 @@ code-component .toolbar .carbon-taskbar { code-component .toolbarIconRun { height: 20px; - background-image: url('../media/light/execute_cell.svg'); + background-image: url('./media/light/execute_cell.svg'); padding-bottom: 10px; } .vs-dark code-component .toolbarIconRun, .hc-black code-component .toolbarIconRun { - background-image: url('../media/dark/execute_cell_inverse.svg'); + background-image: url('./media/dark/execute_cell_inverse.svg'); } code-component .toolbarIconRunError { height: 20px; - background-image: url('../media/light/execute_cell_error.svg'); + background-image: url('./media/light/execute_cell_error.svg'); padding-bottom: 10px; } @@ -54,7 +54,7 @@ code-component .toolbarIconStop { .vs-dark code-component .toolbarIconStop, .hc-black code-component .toolbarIconStop { - background-image: url('../media/dark/stop_cell_solidanimation_inverse.svg'); + background-image: url('./media/dark/stop_cell_solidanimation_inverse.svg'); } code-component .editor { diff --git a/src/sql/workbench/parts/notebook/cellViews/codeActions.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/codeActions.ts similarity index 95% rename from src/sql/workbench/parts/notebook/cellViews/codeActions.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/codeActions.ts index a0f01952c7..5a2fc7ac94 100644 --- a/src/sql/workbench/parts/notebook/cellViews/codeActions.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/codeActions.ts @@ -9,13 +9,13 @@ import { IDisposable } from 'vs/base/common/lifecycle'; import * as types from 'vs/base/common/types'; import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; -import { getErrorMessage } from 'sql/workbench/parts/notebook/notebookUtils'; -import { ICellModel, CellExecutionState } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; +import { ICellModel, CellExecutionState } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { MultiStateAction, IMultiStateData } from 'sql/workbench/parts/notebook/notebookActions'; +import { MultiStateAction, IMultiStateData } from 'sql/workbench/parts/notebook/electron-browser/notebookActions'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { ILogService } from 'vs/platform/log/common/log'; +import { getErrorMessage } from 'vs/base/common/errors'; let notebookMoreActionMsg = localize('notebook.failed', "Please select active cell and try again"); const emptyExecutionCountLabel = '[ ]'; diff --git a/src/sql/workbench/parts/notebook/cellViews/codeCell.component.html b/src/sql/workbench/parts/notebook/electron-browser/cellViews/codeCell.component.html similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/codeCell.component.html rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/codeCell.component.html diff --git a/src/sql/workbench/parts/notebook/cellViews/codeCell.component.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/codeCell.component.ts similarity index 91% rename from src/sql/workbench/parts/notebook/cellViews/codeCell.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/codeCell.component.ts index 973177836a..f1fa451486 100644 --- a/src/sql/workbench/parts/notebook/cellViews/codeCell.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/codeCell.component.ts @@ -5,9 +5,9 @@ import { nb } from 'azdata'; import { OnInit, Component, Input, Inject, forwardRef, ChangeDetectorRef, SimpleChange, OnChanges, HostListener } from '@angular/core'; -import { CellView } from 'sql/workbench/parts/notebook/cellViews/interfaces'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; +import { CellView } from 'sql/workbench/parts/notebook/electron-browser/cellViews/interfaces'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; import { Deferred } from 'sql/base/common/promise'; diff --git a/src/sql/workbench/parts/notebook/cellViews/interfaces.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/interfaces.ts similarity index 89% rename from src/sql/workbench/parts/notebook/cellViews/interfaces.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/interfaces.ts index 1fb167c193..9624f0cb40 100644 --- a/src/sql/workbench/parts/notebook/cellViews/interfaces.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/interfaces.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { OnDestroy } from '@angular/core'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; export abstract class CellView extends AngularDisposable implements OnDestroy { constructor() { @@ -13,5 +13,3 @@ export abstract class CellView extends AngularDisposable implements OnDestroy { public abstract layout(): void; } - - diff --git a/src/sql/workbench/parts/notebook/cellViews/linkHandler.directive.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/linkHandler.directive.ts similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/linkHandler.directive.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/linkHandler.directive.ts diff --git a/src/sql/workbench/parts/notebook/media/dark/execute_cell_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/cellViews/media/dark/execute_cell_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/execute_cell_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/media/dark/execute_cell_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/stop_cell_solidanimation_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/cellViews/media/dark/stop_cell_solidanimation_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/stop_cell_solidanimation_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/media/dark/stop_cell_solidanimation_inverse.svg diff --git a/src/sql/workbench/parts/notebook/cellViews/media/highlight.css b/src/sql/workbench/parts/notebook/electron-browser/cellViews/media/highlight.css similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/media/highlight.css rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/media/highlight.css diff --git a/src/sql/workbench/parts/notebook/media/light/execute_cell.svg b/src/sql/workbench/parts/notebook/electron-browser/cellViews/media/light/execute_cell.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/execute_cell.svg rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/media/light/execute_cell.svg diff --git a/src/sql/workbench/parts/notebook/media/light/execute_cell_error.svg b/src/sql/workbench/parts/notebook/electron-browser/cellViews/media/light/execute_cell_error.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/execute_cell_error.svg rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/media/light/execute_cell_error.svg diff --git a/src/sql/workbench/parts/notebook/media/light/stop_cell_solidanimation.svg b/src/sql/workbench/parts/notebook/electron-browser/cellViews/media/light/stop_cell_solidanimation.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/stop_cell_solidanimation.svg rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/media/light/stop_cell_solidanimation.svg diff --git a/src/sql/workbench/parts/notebook/cellViews/media/markdown.css b/src/sql/workbench/parts/notebook/electron-browser/cellViews/media/markdown.css similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/media/markdown.css rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/media/markdown.css diff --git a/src/sql/workbench/parts/notebook/cellViews/media/output.css b/src/sql/workbench/parts/notebook/electron-browser/cellViews/media/output.css similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/media/output.css rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/media/output.css diff --git a/src/sql/workbench/parts/notebook/cellViews/output.component.html b/src/sql/workbench/parts/notebook/electron-browser/cellViews/output.component.html similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/output.component.html rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/output.component.html diff --git a/src/sql/workbench/parts/notebook/cellViews/output.component.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/output.component.ts similarity index 93% rename from src/sql/workbench/parts/notebook/cellViews/output.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/output.component.ts index 7aaca0ef03..e2e2700314 100644 --- a/src/sql/workbench/parts/notebook/cellViews/output.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/output.component.ts @@ -6,21 +6,21 @@ import 'vs/css!./code'; import 'vs/css!./media/output'; import { OnInit, Component, Input, Inject, ElementRef, ViewChild, SimpleChange, AfterViewInit, forwardRef, ChangeDetectorRef, ComponentRef, ComponentFactoryResolver } from '@angular/core'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { Event } from 'vs/base/common/event'; import { nb } from 'azdata'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import * as outputProcessor from 'sql/workbench/parts/notebook/outputs/common/outputProcessor'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import * as outputProcessor from 'sql/workbench/parts/notebook/common/models/outputProcessor'; import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService'; import * as DOM from 'vs/base/browser/dom'; -import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/common/componentHost.directive'; -import { Extensions, IMimeComponent, IMimeComponentRegistry } from 'sql/workbench/parts/notebook/outputs/mimeRegistry'; +import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/browser/core/componentHost.directive'; +import { Extensions, IMimeComponent, IMimeComponentRegistry } from 'sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry'; import * as colors from 'vs/platform/theme/common/colorRegistry'; import * as themeColors from 'vs/workbench/common/theme'; import { Registry } from 'vs/platform/registry/common/platform'; import { localize } from 'vs/nls'; import * as types from 'vs/base/common/types'; -import { getErrorMessage } from 'sql/workbench/parts/notebook/notebookUtils'; +import { getErrorMessage } from 'vs/base/common/errors'; export const OUTPUT_SELECTOR: string = 'output-component'; const USER_SELECT_CLASS = 'actionselect'; diff --git a/src/sql/workbench/parts/notebook/cellViews/outputArea.component.html b/src/sql/workbench/parts/notebook/electron-browser/cellViews/outputArea.component.html similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/outputArea.component.html rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/outputArea.component.html diff --git a/src/sql/workbench/parts/notebook/cellViews/outputArea.component.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/outputArea.component.ts similarity index 94% rename from src/sql/workbench/parts/notebook/cellViews/outputArea.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/outputArea.component.ts index c39b858103..0405933e10 100644 --- a/src/sql/workbench/parts/notebook/cellViews/outputArea.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/outputArea.component.ts @@ -5,8 +5,8 @@ import 'vs/css!./code'; import 'vs/css!./outputArea'; import { OnInit, Component, Input, Inject, ElementRef, ViewChild, forwardRef, ChangeDetectorRef } from '@angular/core'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import * as themeColors from 'vs/workbench/common/theme'; import { IWorkbenchThemeService, IColorTheme } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { URI } from 'vs/base/common/uri'; diff --git a/src/sql/workbench/parts/notebook/cellViews/outputArea.css b/src/sql/workbench/parts/notebook/electron-browser/cellViews/outputArea.css similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/outputArea.css rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/outputArea.css diff --git a/src/sql/workbench/parts/notebook/cellViews/placeholder.css b/src/sql/workbench/parts/notebook/electron-browser/cellViews/placeholder.css similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/placeholder.css rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/placeholder.css diff --git a/src/sql/workbench/parts/notebook/cellViews/placeholderCell.component.html b/src/sql/workbench/parts/notebook/electron-browser/cellViews/placeholderCell.component.html similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/placeholderCell.component.html rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/placeholderCell.component.html diff --git a/src/sql/workbench/parts/notebook/cellViews/placeholderCell.component.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/placeholderCell.component.ts similarity index 85% rename from src/sql/workbench/parts/notebook/cellViews/placeholderCell.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/placeholderCell.component.ts index d4511584ec..6b92f99c2c 100644 --- a/src/sql/workbench/parts/notebook/cellViews/placeholderCell.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/placeholderCell.component.ts @@ -5,11 +5,11 @@ import 'vs/css!./placeholder'; import { OnInit, Component, Input, Inject, forwardRef, ElementRef, ChangeDetectorRef, OnDestroy, ViewChild, SimpleChange, OnChanges } from '@angular/core'; -import { CellView } from 'sql/workbench/parts/notebook/cellViews/interfaces'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; +import { CellView } from 'sql/workbench/parts/notebook/electron-browser/cellViews/interfaces'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; import { localize } from 'vs/nls'; -import { CellType } from 'sql/workbench/parts/notebook/models/contracts'; +import { CellType } from 'sql/workbench/parts/notebook/common/models/contracts'; export const PLACEHOLDER_SELECTOR: string = 'placeholder-cell-component'; diff --git a/src/sql/workbench/parts/notebook/cellViews/stdin.component.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/stdin.component.ts similarity index 97% rename from src/sql/workbench/parts/notebook/cellViews/stdin.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/stdin.component.ts index 071a8dc66d..bb459fb411 100644 --- a/src/sql/workbench/parts/notebook/cellViews/stdin.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/stdin.component.ts @@ -21,9 +21,9 @@ import { KeyCode } from 'vs/base/common/keyCodes'; import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; import { attachInputBoxStyler } from 'sql/platform/theme/common/styler'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { Deferred } from 'sql/base/common/promise'; -import { ICellModel, CellExecutionState } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { ICellModel, CellExecutionState } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; export const STDIN_SELECTOR: string = 'stdin-component'; @Component({ diff --git a/src/sql/workbench/parts/notebook/cellViews/stdin.css b/src/sql/workbench/parts/notebook/electron-browser/cellViews/stdin.css similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/stdin.css rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/stdin.css diff --git a/src/sql/workbench/parts/notebook/cellViews/textCell.component.html b/src/sql/workbench/parts/notebook/electron-browser/cellViews/textCell.component.html similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/textCell.component.html rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/textCell.component.html diff --git a/src/sql/workbench/parts/notebook/cellViews/textCell.component.ts b/src/sql/workbench/parts/notebook/electron-browser/cellViews/textCell.component.ts similarity index 93% rename from src/sql/workbench/parts/notebook/cellViews/textCell.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/textCell.component.ts index fe88133091..8435efbdef 100644 --- a/src/sql/workbench/parts/notebook/cellViews/textCell.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/cellViews/textCell.component.ts @@ -18,18 +18,18 @@ import { Emitter } from 'vs/base/common/event'; import { URI } from 'vs/base/common/uri'; import * as DOM from 'vs/base/browser/dom'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { CellView } from 'sql/workbench/parts/notebook/cellViews/interfaces'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { ISanitizer, defaultSanitizer } from 'sql/workbench/parts/notebook/outputs/sanitizer'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; -import { CellToggleMoreActions } from 'sql/workbench/parts/notebook/cellToggleMoreActions'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { toDisposable } from 'vs/base/common/lifecycle'; import { IMarkdownRenderResult } from 'vs/editor/contrib/markdown/markdownRenderer'; import { IOpenerService } from 'vs/platform/opener/common/opener'; import { NotebookMarkdownRenderer } from 'sql/workbench/parts/notebook/outputs/notebookMarkdown'; -import { convertVscodeResourceToFileInSubDirectories, useInProcMarkdown } from 'sql/workbench/parts/notebook/notebookUtils'; +import { CellView } from 'sql/workbench/parts/notebook/electron-browser/cellViews/interfaces'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; +import { ISanitizer, defaultSanitizer } from 'sql/workbench/parts/notebook/electron-browser/outputs/sanitizer'; +import { CellToggleMoreActions } from 'sql/workbench/parts/notebook/electron-browser/cellToggleMoreActions'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { useInProcMarkdown, convertVscodeResourceToFileInSubDirectories } from 'sql/workbench/parts/notebook/node/models/notebookUtils'; export const TEXT_SELECTOR: string = 'text-cell-component'; const USER_SELECT_CLASS = 'actionselect'; diff --git a/src/sql/workbench/parts/notebook/cellViews/textCell.css b/src/sql/workbench/parts/notebook/electron-browser/cellViews/textCell.css similarity index 100% rename from src/sql/workbench/parts/notebook/cellViews/textCell.css rename to src/sql/workbench/parts/notebook/electron-browser/cellViews/textCell.css diff --git a/src/sql/workbench/parts/notebook/media/dark/add_blue_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/add_blue_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/add_blue_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/add_blue_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/add_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/add_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/add_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/add_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/clear_results_blue_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/clear_results_blue_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/clear_results_blue_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/clear_results_blue_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/clear_results_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/clear_results_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/clear_results_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/clear_results_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/new_notebook_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/new_notebook_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/new_notebook_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/new_notebook_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/nottrusted_blue_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/nottrusted_blue_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/nottrusted_blue_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/nottrusted_blue_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/nottrusted_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/nottrusted_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/nottrusted_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/nottrusted_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/run_cells_blue_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/run_cells_blue_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/run_cells_blue_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/run_cells_blue_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/run_cells_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/run_cells_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/run_cells_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/run_cells_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/stop_cell_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/stop_cell_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/stop_cell_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/stop_cell_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/trusted_blue_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/trusted_blue_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/trusted_blue_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/trusted_blue_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/dark/trusted_inverse.svg b/src/sql/workbench/parts/notebook/electron-browser/media/dark/trusted_inverse.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/dark/trusted_inverse.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/dark/trusted_inverse.svg diff --git a/src/sql/workbench/parts/notebook/media/light/add.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/add.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/add.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/add.svg diff --git a/src/sql/workbench/parts/notebook/media/light/add_blue.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/add_blue.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/add_blue.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/add_blue.svg diff --git a/src/sql/workbench/parts/notebook/media/light/clear_results.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/clear_results.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/clear_results.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/clear_results.svg diff --git a/src/sql/workbench/parts/notebook/media/light/clear_results_blue.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/clear_results_blue.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/clear_results_blue.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/clear_results_blue.svg diff --git a/src/sql/workbench/parts/notebook/media/light/new_notebook.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/new_notebook.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/new_notebook.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/new_notebook.svg diff --git a/src/sql/workbench/parts/notebook/media/light/nottrusted.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/nottrusted.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/nottrusted.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/nottrusted.svg diff --git a/src/sql/workbench/parts/notebook/media/light/nottrusted_blue.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/nottrusted_blue.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/nottrusted_blue.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/nottrusted_blue.svg diff --git a/src/sql/workbench/parts/notebook/media/light/run_cells.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/run_cells.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/run_cells.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/run_cells.svg diff --git a/src/sql/workbench/parts/notebook/media/light/run_cells_blue.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/run_cells_blue.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/run_cells_blue.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/run_cells_blue.svg diff --git a/src/sql/workbench/parts/notebook/media/light/stop_cell.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/stop_cell.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/stop_cell.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/stop_cell.svg diff --git a/src/sql/workbench/parts/notebook/media/light/trusted.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/trusted.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/trusted.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/trusted.svg diff --git a/src/sql/workbench/parts/notebook/media/light/trusted_blue.svg b/src/sql/workbench/parts/notebook/electron-browser/media/light/trusted_blue.svg similarity index 100% rename from src/sql/workbench/parts/notebook/media/light/trusted_blue.svg rename to src/sql/workbench/parts/notebook/electron-browser/media/light/trusted_blue.svg diff --git a/src/sql/workbench/parts/notebook/notebook.component.html b/src/sql/workbench/parts/notebook/electron-browser/notebook.component.html similarity index 100% rename from src/sql/workbench/parts/notebook/notebook.component.html rename to src/sql/workbench/parts/notebook/electron-browser/notebook.component.html diff --git a/src/sql/workbench/parts/notebook/notebook.component.ts b/src/sql/workbench/parts/notebook/electron-browser/notebook.component.ts similarity index 95% rename from src/sql/workbench/parts/notebook/notebook.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/notebook.component.ts index 308d3e9d3c..27337eac00 100644 --- a/src/sql/workbench/parts/notebook/notebook.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/notebook.component.ts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ import { nb } from 'azdata'; -import * as vscode from 'vscode'; import { OnInit, Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild, OnDestroy } from '@angular/core'; import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; @@ -22,27 +21,26 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; import * as DOM from 'vs/base/browser/dom'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; -import { CellTypes, CellType } from 'sql/workbench/parts/notebook/models/contracts'; -import { ICellModel, IModelFactory, INotebookModel, NotebookContentChange } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; +import { CellTypes, CellType } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { ICellModel, IModelFactory, INotebookModel, NotebookContentChange } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { INotebookService, INotebookParams, INotebookManager, INotebookEditor, INotebookSection, DEFAULT_NOTEBOOK_PROVIDER, SQL_NOTEBOOK_PROVIDER, INavigationProvider } from 'sql/workbench/services/notebook/common/notebookService'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; -import { ModelFactory } from 'sql/workbench/parts/notebook/models/modelFactory'; -import * as notebookUtils from 'sql/workbench/parts/notebook/notebookUtils'; +import { INotebookService, INotebookParams, INotebookManager, INotebookEditor, DEFAULT_NOTEBOOK_PROVIDER, SQL_NOTEBOOK_PROVIDER, INotebookSection, INavigationProvider } from 'sql/workbench/services/notebook/common/notebookService'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; +import { ModelFactory } from 'sql/workbench/parts/notebook/node/models/modelFactory'; +import * as notebookUtils from 'sql/workbench/parts/notebook/node/models/notebookUtils'; import { Deferred } from 'sql/base/common/promise'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar'; -import { KernelsDropdown, AttachToDropdown, AddCellAction, TrustedAction, RunAllCellsAction, ClearAllOutputsAction } from 'sql/workbench/parts/notebook/notebookActions'; +import { KernelsDropdown, AttachToDropdown, AddCellAction, TrustedAction, RunAllCellsAction, ClearAllOutputsAction } from 'sql/workbench/parts/notebook/electron-browser/notebookActions'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/common/objectExplorerService'; import * as TaskUtilities from 'sql/workbench/common/taskUtilities'; import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes'; import { IConnectionDialogService } from 'sql/workbench/services/connection/common/connectionDialogService'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; -import { CellMagicMapper } from 'sql/workbench/parts/notebook/models/cellMagicMapper'; +import { CellMagicMapper } from 'sql/workbench/parts/notebook/node/models/cellMagicMapper'; import { IExtensionsViewlet, VIEWLET_ID } from 'vs/workbench/contrib/extensions/common/extensions'; -import { CellModel } from 'sql/workbench/parts/notebook/models/cell'; +import { CellModel } from 'sql/workbench/parts/notebook/node/models/cell'; import { FileOperationError, FileOperationResult } from 'vs/platform/files/common/files'; import { isValidBasename } from 'vs/base/common/extpath'; import { basename } from 'vs/base/common/resources'; @@ -54,6 +52,8 @@ import { LabeledMenuItemActionItem, fillInActions } from 'vs/platform/actions/br import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { Button } from 'sql/base/browser/ui/button/button'; import { isUndefinedOrNull } from 'vs/base/common/types'; +import { IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; +import { getErrorMessage } from 'vs/base/common/errors'; import product from 'vs/platform/product/node/product'; @@ -257,7 +257,7 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe } } } else { - this.setViewInErrorState(localize('displayFailed', "Could not display contents: {0}", notebookUtils.getErrorMessage(error))); + this.setViewInErrorState(localize('displayFailed', "Could not display contents: {0}", getErrorMessage(error))); this.setLoading(false); this._modelReadyDeferred.reject(error); @@ -395,7 +395,7 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe private setViewInErrorState(error: any): any { this._isInErrorState = true; - this._errorMessage = notebookUtils.getErrorMessage(error); + this._errorMessage = getErrorMessage(error); // For now, send message as error notification #870 covers having dedicated area for this this.notificationService.error(error); } @@ -634,7 +634,7 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe this._navProvider.onNext(this.model.notebookUri); } } catch (error) { - this.notificationService.error(notebookUtils.getErrorMessage(error)); + this.notificationService.error(getErrorMessage(error)); } } @@ -644,7 +644,7 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe this._navProvider.onPrevious(this.model.notebookUri); } } catch (error) { - this.notificationService.error(notebookUtils.getErrorMessage(error)); + this.notificationService.error(getErrorMessage(error)); } } @@ -692,4 +692,4 @@ class NotebookSection implements INotebookSection { get header(): string { return this.headerEl.textContent; } -} \ No newline at end of file +} diff --git a/src/sql/workbench/parts/notebook/notebook.contribution.ts b/src/sql/workbench/parts/notebook/electron-browser/notebook.contribution.ts similarity index 92% rename from src/sql/workbench/parts/notebook/notebook.contribution.ts rename to src/sql/workbench/parts/notebook/electron-browser/notebook.contribution.ts index 8f52010690..a6b4824b5f 100644 --- a/src/sql/workbench/parts/notebook/notebook.contribution.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/notebook.contribution.ts @@ -8,19 +8,19 @@ import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actions'; import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; -import { NotebookInput } from 'sql/workbench/parts/notebook/notebookInput'; -import { NotebookEditor } from 'sql/workbench/parts/notebook/notebookEditor'; -import { NewNotebookAction } from 'sql/workbench/parts/notebook/notebookActions'; +import { NotebookInput } from 'sql/workbench/parts/notebook/node/notebookInput'; +import { NotebookEditor } from 'sql/workbench/parts/notebook/electron-browser/notebookEditor'; +import { NewNotebookAction } from 'sql/workbench/parts/notebook/electron-browser/notebookActions'; import { KeyMod } from 'vs/editor/common/standalone/standaloneBase'; import { KeyCode } from 'vs/base/common/keyCodes'; import { IConfigurationRegistry, Extensions as ConfigExtensions } from 'vs/platform/configuration/common/configurationRegistry'; import { localize } from 'vs/nls'; import product from 'vs/platform/product/node/product'; -import { registerComponentType } from 'sql/workbench/parts/notebook/outputs/mimeRegistry'; -import { MimeRendererComponent as MimeRendererComponent } from 'sql/workbench/parts/notebook/outputs/mimeRenderer.component'; -import { MarkdownOutputComponent } from 'sql/workbench/parts/notebook/outputs/markdownOutput.component'; import { GridOutputComponent } from 'sql/workbench/parts/notebook/outputs/gridOutput.component'; import { PlotlyOutputComponent } from 'sql/workbench/parts/notebook/outputs/plotlyOutput.component'; +import { registerComponentType } from 'sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry'; +import { MimeRendererComponent } from 'sql/workbench/parts/notebook/electron-browser/outputs/mimeRenderer.component'; +import { MarkdownOutputComponent } from 'sql/workbench/parts/notebook/electron-browser/outputs/markdownOutput.component'; // Model View editor registration const viewModelEditorDescriptor = new EditorDescriptor( @@ -181,4 +181,4 @@ registerComponentType({ safe: true, ctor: PlotlyOutputComponent, selector: PlotlyOutputComponent.SELECTOR -}); \ No newline at end of file +}); diff --git a/src/sql/workbench/parts/notebook/notebook.module.ts b/src/sql/workbench/parts/notebook/electron-browser/notebook.module.ts similarity index 65% rename from src/sql/workbench/parts/notebook/notebook.module.ts rename to src/sql/workbench/parts/notebook/electron-browser/notebook.module.ts index 071dca73bf..49d634965c 100644 --- a/src/sql/workbench/parts/notebook/notebook.module.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/notebook.module.ts @@ -8,26 +8,27 @@ import { FormsModule } from '@angular/forms'; import { CommonModule, APP_BASE_HREF } from '@angular/common'; import { BrowserModule } from '@angular/platform-browser'; -import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/common/componentHost.directive'; -import { IBootstrapParams, ISelector, providerIterator } from 'sql/platform/bootstrap/node/bootstrapService'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { EditableDropDown } from 'sql/platform/electron-browser/editableDropdown/editableDropdown.component'; -import { NotebookComponent } from 'sql/workbench/parts/notebook/notebook.component'; +import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/browser/core/componentHost.directive'; +import { providerIterator } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { EditableDropDown } from 'sql/platform/browser/editableDropdown/editableDropdown.component'; +import { NotebookComponent } from 'sql/workbench/parts/notebook/electron-browser/notebook.component'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { CodeComponent } from 'sql/workbench/parts/notebook/cellViews/code.component'; -import { CodeCellComponent } from 'sql/workbench/parts/notebook/cellViews/codeCell.component'; -import { TextCellComponent } from 'sql/workbench/parts/notebook/cellViews/textCell.component'; -import { OutputAreaComponent } from 'sql/workbench/parts/notebook/cellViews/outputArea.component'; -import { OutputComponent } from 'sql/workbench/parts/notebook/cellViews/output.component'; -import { StdInComponent } from 'sql/workbench/parts/notebook/cellViews/stdin.component'; -import { PlaceholderCellComponent } from 'sql/workbench/parts/notebook/cellViews/placeholderCell.component'; -import LoadingSpinner from 'sql/workbench/electron-browser/modelComponents/loadingSpinner.component'; -import { Checkbox } from 'sql/base/electron-browser/ui/checkbox/checkbox.component'; -import { SelectBox } from 'sql/platform/ui/electron-browser/selectBox/selectBox.component'; -import { InputBox } from 'sql/base/electron-browser/ui/inputBox/inputBox.component'; -import { IMimeComponentRegistry, Extensions } from 'sql/workbench/parts/notebook/outputs/mimeRegistry'; +import { CodeComponent } from 'sql/workbench/parts/notebook/electron-browser/cellViews/code.component'; +import { CodeCellComponent } from 'sql/workbench/parts/notebook/electron-browser/cellViews/codeCell.component'; +import { TextCellComponent } from 'sql/workbench/parts/notebook/electron-browser/cellViews/textCell.component'; +import { OutputAreaComponent } from 'sql/workbench/parts/notebook/electron-browser/cellViews/outputArea.component'; +import { OutputComponent } from 'sql/workbench/parts/notebook/electron-browser/cellViews/output.component'; +import { StdInComponent } from 'sql/workbench/parts/notebook/electron-browser/cellViews/stdin.component'; +import { PlaceholderCellComponent } from 'sql/workbench/parts/notebook/electron-browser/cellViews/placeholderCell.component'; +import LoadingSpinner from 'sql/workbench/browser/modelComponents/loadingSpinner.component'; +import { Checkbox } from 'sql/base/browser/ui/checkbox/checkbox.component'; +import { SelectBox } from 'sql/platform/browser/selectBox/selectBox.component'; +import { InputBox } from 'sql/platform/browser/inputbox/inputBox.component'; +import { IMimeComponentRegistry, Extensions } from 'sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry'; import { Registry } from 'vs/platform/registry/common/platform'; -import { LinkHandlerDirective } from 'sql/workbench/parts/notebook/cellViews/linkHandler.directive'; +import { LinkHandlerDirective } from 'sql/workbench/parts/notebook/electron-browser/cellViews/linkHandler.directive'; +import { IBootstrapParams, ISelector } from 'sql/platform/bootstrap/common/bootstrapParams'; export const NotebookModule = (params, selector: string, instantiationService: IInstantiationService): any => { let outputComponents = Registry.as(Extensions.MimeComponentContribution).getAllCtors(); diff --git a/src/sql/workbench/parts/notebook/notebookActions.ts b/src/sql/workbench/parts/notebook/electron-browser/notebookActions.ts similarity index 97% rename from src/sql/workbench/parts/notebook/notebookActions.ts rename to src/sql/workbench/parts/notebook/electron-browser/notebookActions.ts index 6625d449f4..b001e73c81 100644 --- a/src/sql/workbench/parts/notebook/notebookActions.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/notebookActions.ts @@ -11,20 +11,20 @@ import { IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview import { INotificationService, Severity, INotificationActions } from 'vs/platform/notification/common/notification'; import { SelectBox, ISelectBoxOptionsWithLabel } from 'sql/base/browser/ui/selectBox/selectBox'; -import { INotebookModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { CellType, CellTypes } from 'sql/workbench/parts/notebook/models/contracts'; -import { NotebookComponent } from 'sql/workbench/parts/notebook/notebook.component'; -import { getErrorMessage, getServerFromFormattedAttachToName, getDatabaseFromFormattedAttachToName } from 'sql/workbench/parts/notebook/notebookUtils'; import { IConnectionManagementService, ConnectionType } from 'sql/platform/connection/common/connectionManagement'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { noKernel } from 'sql/workbench/services/notebook/common/sessionManager'; import { IConnectionDialogService } from 'sql/workbench/services/connection/common/connectionDialogService'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; import { generateUri } from 'sql/platform/connection/common/utils'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { ILogService } from 'vs/platform/log/common/log'; import { ICommandService } from 'vs/platform/commands/common/commands'; +import { CellType } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { NotebookComponent } from 'sql/workbench/parts/notebook/electron-browser/notebook.component'; +import { getErrorMessage } from 'vs/base/common/errors'; +import { INotebookModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; const msgLoading = localize('loading', "Loading kernels..."); const msgChanging = localize('changing', "Changing kernel..."); @@ -560,4 +560,4 @@ export class NewNotebookAction extends Action { return this.commandService.executeCommand(NewNotebookAction.INTERNAL_NEW_NOTEBOOK_CMD_ID, context); } -} \ No newline at end of file +} diff --git a/src/sql/workbench/parts/notebook/notebookEditor.ts b/src/sql/workbench/parts/notebook/electron-browser/notebookEditor.ts similarity index 92% rename from src/sql/workbench/parts/notebook/notebookEditor.ts rename to src/sql/workbench/parts/notebook/electron-browser/notebookEditor.ts index da41815cb6..2eccbedbf0 100644 --- a/src/sql/workbench/parts/notebook/notebookEditor.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/notebookEditor.ts @@ -7,13 +7,13 @@ import { IThemeService } from 'vs/platform/theme/common/themeService'; import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { EditorOptions } from 'vs/workbench/common/editor'; import * as DOM from 'vs/base/browser/dom'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { CancellationToken } from 'vs/base/common/cancellation'; -import { NotebookInput } from 'sql/workbench/parts/notebook/notebookInput'; -import { NotebookModule } from 'sql/workbench/parts/notebook/notebook.module'; -import { NOTEBOOK_SELECTOR } from 'sql/workbench/parts/notebook/notebook.component'; +import { NotebookInput } from 'sql/workbench/parts/notebook/node/notebookInput'; +import { NotebookModule } from 'sql/workbench/parts/notebook/electron-browser/notebook.module'; +import { NOTEBOOK_SELECTOR } from 'sql/workbench/parts/notebook/electron-browser/notebook.component'; import { INotebookParams } from 'sql/workbench/services/notebook/common/notebookService'; import { IStorageService } from 'vs/platform/storage/common/storage'; diff --git a/src/sql/workbench/parts/notebook/outputs/factories.ts b/src/sql/workbench/parts/notebook/electron-browser/outputs/factories.ts similarity index 97% rename from src/sql/workbench/parts/notebook/outputs/factories.ts rename to src/sql/workbench/parts/notebook/electron-browser/outputs/factories.ts index 5346cd19ec..09d4c9a8f9 100644 --- a/src/sql/workbench/parts/notebook/outputs/factories.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/outputs/factories.ts @@ -4,7 +4,7 @@ |----------------------------------------------------------------------------*/ import * as widgets from './widgets'; -import { IRenderMime } from './common/renderMimeInterfaces'; +import { IRenderMime } from '../../common/models/renderMimeInterfaces'; /** * A mime renderer factory for raw html. diff --git a/src/sql/workbench/parts/notebook/outputs/markdownOutput.component.html b/src/sql/workbench/parts/notebook/electron-browser/outputs/markdownOutput.component.html similarity index 100% rename from src/sql/workbench/parts/notebook/outputs/markdownOutput.component.html rename to src/sql/workbench/parts/notebook/electron-browser/outputs/markdownOutput.component.html diff --git a/src/sql/workbench/parts/notebook/outputs/markdownOutput.component.ts b/src/sql/workbench/parts/notebook/electron-browser/outputs/markdownOutput.component.ts similarity index 90% rename from src/sql/workbench/parts/notebook/outputs/markdownOutput.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/outputs/markdownOutput.component.ts index 70852f71af..d1d44c6055 100644 --- a/src/sql/workbench/parts/notebook/outputs/markdownOutput.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/outputs/markdownOutput.component.ts @@ -9,16 +9,16 @@ import 'vs/css!../cellViews/media/highlight'; import { OnInit, Component, Input, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild } from '@angular/core'; import { ICommandService } from 'vs/platform/commands/common/commands'; -import { ISanitizer, defaultSanitizer } from 'sql/workbench/parts/notebook/outputs/sanitizer'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; -import { IMimeComponent } from 'sql/workbench/parts/notebook/outputs/mimeRegistry'; +import { ISanitizer, defaultSanitizer } from 'sql/workbench/parts/notebook/electron-browser/outputs/sanitizer'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; +import { IMimeComponent } from 'sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry'; import { INotebookService } from 'sql/workbench/services/notebook/common/notebookService'; -import { MimeModel } from 'sql/workbench/parts/notebook/outputs/common/mimemodel'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { convertVscodeResourceToFileInSubDirectories, useInProcMarkdown } from 'sql/workbench/parts/notebook/notebookUtils'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { NotebookMarkdownRenderer } from 'sql/workbench/parts/notebook/outputs/notebookMarkdown'; +import { MimeModel } from 'sql/workbench/parts/notebook/common/models/mimemodel'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { useInProcMarkdown, convertVscodeResourceToFileInSubDirectories } from 'sql/workbench/parts/notebook/node/models/notebookUtils'; import { URI } from 'vs/base/common/uri'; @Component({ @@ -151,4 +151,4 @@ export class MarkdownOutputComponent extends AngularDisposable implements IMimeC public handleContentChanged(): void { this.updatePreview(); } -} \ No newline at end of file +} diff --git a/src/sql/workbench/parts/notebook/outputs/mimeRegistry.ts b/src/sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry.ts similarity index 95% rename from src/sql/workbench/parts/notebook/outputs/mimeRegistry.ts rename to src/sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry.ts index 79396fc9fe..2bebfbcbee 100644 --- a/src/sql/workbench/parts/notebook/outputs/mimeRegistry.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry.ts @@ -5,11 +5,10 @@ import { Type } from '@angular/core'; import * as platform from 'vs/platform/registry/common/platform'; -import { ReadonlyJSONObject } from 'sql/workbench/parts/notebook/models/jsonext'; -import { MimeModel } from 'sql/workbench/parts/notebook/outputs/common/mimemodel'; +import { ReadonlyJSONObject } from 'sql/workbench/parts/notebook/common/models/jsonext'; +import { MimeModel } from 'sql/workbench/parts/notebook/common/models/mimemodel'; import * as types from 'vs/base/common/types'; -import { IRenderMime } from 'sql/workbench/parts/notebook/outputs/common/renderMimeInterfaces'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; export type FactoryIdentifier = string; diff --git a/src/sql/workbench/parts/notebook/outputs/mimeRenderer.component.ts b/src/sql/workbench/parts/notebook/electron-browser/outputs/mimeRenderer.component.ts similarity index 90% rename from src/sql/workbench/parts/notebook/outputs/mimeRenderer.component.ts rename to src/sql/workbench/parts/notebook/electron-browser/outputs/mimeRenderer.component.ts index 9677c758f5..7443e447c4 100644 --- a/src/sql/workbench/parts/notebook/outputs/mimeRenderer.component.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/outputs/mimeRenderer.component.ts @@ -3,12 +3,12 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IMimeComponent } from 'sql/workbench/parts/notebook/outputs/mimeRegistry'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; +import { IMimeComponent } from 'sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; import { ElementRef, forwardRef, Inject, Component, OnInit, Input } from '@angular/core'; -import { MimeModel } from 'sql/workbench/parts/notebook/outputs/common/mimemodel'; +import { MimeModel } from 'sql/workbench/parts/notebook/common/models/mimemodel'; import { INotebookService } from 'sql/workbench/services/notebook/common/notebookService'; -import { RenderMimeRegistry } from 'sql/workbench/parts/notebook/outputs/registry'; +import { RenderMimeRegistry } from 'sql/workbench/parts/notebook/electron-browser/outputs/registry'; import { localize } from 'vs/nls'; @Component({ @@ -75,4 +75,4 @@ export class MimeRendererComponent extends AngularDisposable implements IMimeCom Object.keys(options.data).join(', ')); } } -} \ No newline at end of file +} diff --git a/src/sql/workbench/parts/notebook/outputs/registry.ts b/src/sql/workbench/parts/notebook/electron-browser/outputs/registry.ts similarity index 97% rename from src/sql/workbench/parts/notebook/outputs/registry.ts rename to src/sql/workbench/parts/notebook/electron-browser/outputs/registry.ts index 4c1f302d5c..d8a4222992 100644 --- a/src/sql/workbench/parts/notebook/outputs/registry.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/outputs/registry.ts @@ -3,9 +3,9 @@ | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ -import { IRenderMime } from './common/renderMimeInterfaces'; -import { MimeModel } from './common/mimemodel'; -import { ReadonlyJSONObject } from '../models/jsonext'; +import { IRenderMime } from '../../common/models/renderMimeInterfaces'; +import { MimeModel } from '../../common/models/mimemodel'; +import { ReadonlyJSONObject } from '../../common/models/jsonext'; import { defaultSanitizer } from './sanitizer'; /** diff --git a/src/sql/workbench/parts/notebook/outputs/renderers.ts b/src/sql/workbench/parts/notebook/electron-browser/outputs/renderers.ts similarity index 99% rename from src/sql/workbench/parts/notebook/outputs/renderers.ts rename to src/sql/workbench/parts/notebook/electron-browser/outputs/renderers.ts index 5887cfab54..d4d5345256 100644 --- a/src/sql/workbench/parts/notebook/outputs/renderers.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/outputs/renderers.ts @@ -4,8 +4,8 @@ |----------------------------------------------------------------------------*/ import { default as AnsiUp } from 'ansi_up'; -import { IRenderMime } from './common/renderMimeInterfaces'; -import { URLExt } from './common/url'; +import { IRenderMime } from '../../common/models/renderMimeInterfaces'; +import { URLExt } from '../../common/models/url'; import { URI } from 'vs/base/common/uri'; diff --git a/src/sql/workbench/parts/notebook/outputs/sanitizer.ts b/src/sql/workbench/parts/notebook/electron-browser/outputs/sanitizer.ts similarity index 95% rename from src/sql/workbench/parts/notebook/outputs/sanitizer.ts rename to src/sql/workbench/parts/notebook/electron-browser/outputs/sanitizer.ts index ff45226f43..c7c5cce18f 100644 --- a/src/sql/workbench/parts/notebook/outputs/sanitizer.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/outputs/sanitizer.ts @@ -118,7 +118,7 @@ class CssProp { rgb: String.raw`rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)`, rgba: String.raw`rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(${ CssProp.N.integer_zero_ff - }|${CssProp.N.number_zero_one}|${CssProp.B.percentage_zero_hundred})\s*\)` + }|${CssProp.N.number_zero_one}|${CssProp.B.percentage_zero_hundred})\s*\)` }; /* @@ -127,19 +127,19 @@ class CssProp { private static readonly _C = { alpha: `${CssProp.N.integer_zero_ff}|${CssProp.N.number_zero_one}|${ CssProp.B.percentage_zero_hundred - }`, + }`, alphavalue: CssProp.N.number_zero_one, bg_position: `((${ CssProp.B.len_or_perc - }|left|center|right|top|bottom)\\s*){1,4}`, + }|left|center|right|top|bottom)\\s*){1,4}`, bg_size: `(${CssProp.B.length_pos}|${ CssProp.B.percentage - }|auto){1,2}|cover|contain`, + }|auto){1,2}|cover|contain`, border_width: `thin|medium|thick|${CssProp.B.length}`, bottom: `${CssProp.B.length}|auto`, color: `${CssProp._COLOR.hex}|${CssProp._COLOR.rgb}|${ CssProp._COLOR.rgba - }|${CssProp._COLOR.name}`, + }|${CssProp._COLOR.name}`, family_name: `${CssProp.B.string}|(${CssProp.B.ident}\\s*)+`, image_decl: CssProp.B.url, left: `${CssProp.B.length}|auto`, @@ -149,24 +149,24 @@ class CssProp { page_url: CssProp.B.url, position: `((${ CssProp.B.len_or_perc - }|left|center|right|top|bottom)\\s*){1,4}`, + }|left|center|right|top|bottom)\\s*){1,4}`, right: `${CssProp.B.length}|auto`, shadow: '', size: `closest-side|farthest-side|closest-corner|farthest-corner|${ CssProp.B.length - }|(${CssProp.B.len_or_perc})\\s+(${CssProp.B.len_or_perc})`, + }|(${CssProp.B.len_or_perc})\\s+(${CssProp.B.len_or_perc})`, top: `${CssProp.B.length}|auto` }; private static readonly _C1 = { image_list: `image\\(\\s*(${CssProp.B.url})*\\s*(${CssProp.B.url}|${ CssProp._C.color - })\\s*\\)`, + })\\s*\\)`, shadow: `((${CssProp._C.color})\\s+((${ CssProp.B.length - })\\s*){2,4}(\s+inset)?)|((inset\\s+)?((${ + })\\s*){2,4}(\s+inset)?)|((inset\\s+)?((${ CssProp.B.length - })\\s*){2,4}\\s*(${CssProp._C.color})?)` + })\\s*){2,4}\\s*(${CssProp._C.color})?)` }; private static readonly _C2 = { @@ -174,7 +174,7 @@ class CssProp { image: `${CssProp.B.url}|${CssProp._C1.image_list}`, shape: `rect\\(\\s*(${CssProp._C.top})\\s*,\\s*(${ CssProp._C.right - })\\s*,\\s*(${CssProp._C.bottom})\\s*,\\s*(${CssProp._C.left})\\s*\\)` + })\\s*,\\s*(${CssProp._C.bottom})\\s*,\\s*(${CssProp._C.left})\\s*\\)` }; private static readonly C = { ...CssProp._C, ...CssProp._C1, ...CssProp._C2 }; @@ -226,18 +226,18 @@ class CssProp { private static readonly _CP = { background_attachment: `${CssProp.A.attachment}(,\\s*${ CssProp.A.attachment - })*`, + })*`, background_color: CssProp.C.color, background_origin: `${CssProp.A.box}(,\\s*${CssProp.A.box})*`, background_repeat: `${CssProp.A.repeat_style}(,\\s*${ CssProp.A.repeat_style - })*`, + })*`, border: `((${CssProp.C.border_width}|${CssProp.A.border_style}|${ CssProp.C.color - })\\s*){1,3}`, + })\\s*){1,3}`, border_radius: `((${CssProp.B.len_or_perc})\\s*){1,4}(\\/\\s*((${ CssProp.B.len_or_perc - })\\s*){1,4})?`, + })\\s*){1,4})?`, border_spacing: `${CssProp.B.length}\\s*(${CssProp.B.length})?`, border_top_color: CssProp.C.color, border_top_style: CssProp.A.border_style, @@ -245,15 +245,15 @@ class CssProp { color: CssProp.C.color, cursor: `(${ CssProp.B.url - }(\\s*,\\s*)?)*(auto|crosshair|default|pointer|move|e-resize|ne-resize|nw-resize|n-resize|se-resize|sw-resize|s-resize|w-resize|text|wait|help|progress|all-scroll|col-resize|hand|no-drop|not-allowed|row-resize|vertical-text)`, + }(\\s*,\\s*)?)*(auto|crosshair|default|pointer|move|e-resize|ne-resize|nw-resize|n-resize|se-resize|sw-resize|s-resize|w-resize|text|wait|help|progress|all-scroll|col-resize|hand|no-drop|not-allowed|row-resize|vertical-text)`, display: `inline|block|list-item|run-in|inline-list-item|inline-block|table|inline-table|table-cell|table-caption|flex|inline-flex|grid|inline-grid|${ CssProp.A.display_inside - }|${CssProp.A.display_outside}|inherit|inline-box|inline-stack`, + }|${CssProp.A.display_outside}|inherit|inline-box|inline-stack`, display_outside: CssProp.A.display_outside, elevation: `${CssProp.B.angle}|below|level|above|higher|lower`, font_family: `(${CssProp.C.family_name}|${ CssProp.A.generic_family - })(,\\s*(${CssProp.C.family_name}|${CssProp.A.generic_family}))*`, + })(,\\s*(${CssProp.C.family_name}|${CssProp.A.generic_family}))*`, height: `${CssProp.B.length}|${CssProp.B.percentage}|auto`, letter_spacing: `normal|${CssProp.B.length}`, list_style_image: `${CssProp.C.image}|none`, @@ -272,14 +272,14 @@ class CssProp { text_shadow: `none|${CssProp.C.shadow}(,\\s*(${CssProp.C.shadow}))*`, volume: `${CssProp.N.number_pos}|${ CssProp.B.percentage_pos - }|silent|x-soft|soft|medium|loud|x-loud`, + }|silent|x-soft|soft|medium|loud|x-loud`, word_wrap: CssProp.AP.overflow_wrap, zoom: `normal|${CssProp.N.number_pos}|${CssProp.B.percentage_pos}`, backface_visibility: CssProp.AP.visibility, background_clip: `${CssProp.A.box}(,\\s*(${CssProp.A.box}))*`, background_position: `${CssProp.C.bg_position}(,\\s*(${ CssProp.C.bg_position - }))*`, + }))*`, border_bottom_color: CssProp.C.color, border_bottom_style: CssProp.A.border_style, border_color: `((${CssProp.C.color})\\s*){1,4}`, @@ -288,17 +288,17 @@ class CssProp { border_style: `((${CssProp.A.border_style})\\s*){1,4}`, border_top_left_radius: `(${CssProp.B.length}|${ CssProp.B.percentage - })(\\s*(${CssProp.B.length}|${CssProp.B.percentage}))?`, + })(\\s*(${CssProp.B.length}|${CssProp.B.percentage}))?`, border_top_width: CssProp.C.border_width, box_shadow: `none|${CssProp.C.shadow}(,\\s*(${CssProp.C.shadow}))*`, clip: `${CssProp.C.shape}|auto`, display_inside: CssProp.A.display_inside, font_size: `${CssProp.A.absolute_size}|${CssProp.A.relative_size}|${ CssProp.B.length_pos - }|${CssProp.B.percentage_pos}`, + }|${CssProp.B.percentage_pos}`, line_height: `normal|${CssProp.N.number_pos}|${CssProp.B.length_pos}|${ CssProp.B.percentage_pos - }`, + }`, margin_left: CssProp.C.margin_width, max_width: `${CssProp.B.length_pos}|${CssProp.B.percentage_pos}|none|auto`, outline_style: CssProp.A.border_style, @@ -313,37 +313,37 @@ class CssProp { // Simplified background background: `(((${CssProp.C.bg_position}\\s*(\\/\\s*${ CssProp.C.bg_size - })?)|(${CssProp.A.repeat_style})|(${CssProp.A.attachment})|(${ + })?)|(${CssProp.A.repeat_style})|(${CssProp.A.attachment})|(${ CssProp.A.bg_origin - })|(${CssProp.C.bg_image})|(${CssProp.C.color}))\\s*)+`, + })|(${CssProp.C.bg_image})|(${CssProp.C.color}))\\s*)+`, background_size: `${CssProp.C.bg_size}(,\\s*${CssProp.C.bg_size})*`, border_bottom_left_radius: `(${CssProp.B.length}|${ CssProp.B.percentage - })(\\s*(${CssProp.B.length}|${CssProp.B.percentage}))?`, + })(\\s*(${CssProp.B.length}|${CssProp.B.percentage}))?`, border_bottom_width: CssProp.C.border_width, border_left_style: CssProp.A.border_style, border_right_style: CssProp.A.border_style, border_top: `((${CssProp.C.border_width}|${CssProp.A.border_style}|${ CssProp.C.color - })\\s*){1,3}`, + })\\s*){1,3}`, bottom: `${CssProp.B.len_or_perc}|auto`, list_style: `((${CssProp.AP.list_style_type}|${ CssProp.AP.list_style_position - }|${CssProp.C.image}|none})\\s*){1,3}`, + }|${CssProp.C.image}|none})\\s*){1,3}`, margin_top: CssProp.C.margin_width, outline: `((${CssProp.C.color}|invert|${CssProp.A.border_style}|${ CssProp.C.border_width - })\\s*){1,3}`, + })\\s*){1,3}`, overflow_y: CssProp.AP.overflow_x, pitch: `${CssProp.B.frequency}|x-low|low|medium|high|x-high`, vertical_align: `baseline|sub|super|top|text-top|middle|bottom|text-bottom|${ CssProp.B.len_or_perc - }`, + }`, word_spacing: `normal|${CssProp.B.length}`, background_image: `${CssProp.C.bg_image}(,\\s*${CssProp.C.bg_image})*`, border_bottom_right_radius: `(${CssProp.B.length}|${ CssProp.B.percentage - })(\\s*(${CssProp.B.length}|${CssProp.B.percentage}))?`, + })(\\s*(${CssProp.B.length}|${CssProp.B.percentage}))?`, border_left_width: CssProp.C.border_width, border_right_width: CssProp.C.border_width, left: `${CssProp.B.len_or_perc}|auto`, @@ -351,34 +351,34 @@ class CssProp { pause_after: `${CssProp.B.time}|${CssProp.B.percentage}`, speech_rate: `${ CssProp.N.number - }|x-slow|slow|medium|fast|x-fast|faster|slower`, + }|x-slow|slow|medium|fast|x-fast|faster|slower`, transition_duration: `${CssProp.B.time}(,\\s*${CssProp.B.time})*`, border_bottom: `((${CssProp.C.border_width}|${CssProp.A.border_style}|${ CssProp.C.color - })\\s*){1,3}`, + })\\s*){1,3}`, border_right: `((${CssProp.C.border_width}|${CssProp.A.border_style}|${ CssProp.C.color - })\\s*){1,3}`, + })\\s*){1,3}`, margin: `((${CssProp.C.margin_width})\\s*){1,4}`, padding_left: CssProp.C.padding_width, border_left: `((${CssProp.C.border_width}|${CssProp.A.border_style}|${ CssProp.C.color - })\\s*){1,3}`, + })\\s*){1,3}`, quotes: `(${CssProp.B.string}\\s*${CssProp.B.string})+|none`, border_top_right_radius: `(${CssProp.B.length}|${ CssProp.B.percentage - })(\\s*(${CssProp.B.length}|${CssProp.B.percentage}))?`, + })(\\s*(${CssProp.B.length}|${CssProp.B.percentage}))?`, min_width: `${CssProp.B.length_pos}|${CssProp.B.percentage_pos}|auto` }; private static readonly _CP1 = { font: `(((((${CssProp.AP.font_style}|${CssProp.AP.font_variant}|${ CssProp.AP.font_weight - })\\s*){1,3})?\\s*(${CssProp._CP.font_size})\\s*(\\/\\s*(${ + })\\s*){1,3})?\\s*(${CssProp._CP.font_size})\\s*(\\/\\s*(${ CssProp._CP.line_height - }))?\\s+(${ + }))?\\s+(${ CssProp._CP.font_family - }))|caption|icon|menu|message-box|small-caption|status-bar)` + }))|caption|icon|menu|message-box|small-caption|status-bar)` }; private static readonly CP = { ...CssProp._CP, ...CssProp._CP1 }; diff --git a/src/sql/workbench/parts/notebook/outputs/widgets.ts b/src/sql/workbench/parts/notebook/electron-browser/outputs/widgets.ts similarity index 97% rename from src/sql/workbench/parts/notebook/outputs/widgets.ts rename to src/sql/workbench/parts/notebook/electron-browser/outputs/widgets.ts index f7a08ebc81..dec53a2a24 100644 --- a/src/sql/workbench/parts/notebook/outputs/widgets.ts +++ b/src/sql/workbench/parts/notebook/electron-browser/outputs/widgets.ts @@ -4,9 +4,9 @@ *--------------------------------------------------------------------------------------------*/ import * as renderers from './renderers'; -import { IRenderMime } from './common/renderMimeInterfaces'; -import { ReadonlyJSONObject } from '../models/jsonext'; -import * as tableRenderers from 'sql/workbench/parts/notebook/outputs/tableRenderers'; +import { IRenderMime } from '../../common/models/renderMimeInterfaces'; +import { ReadonlyJSONObject } from '../../common/models/jsonext'; +import * as tableRenderers from 'sql/workbench/parts/notebook/browser/outputs/tableRenderers'; /** * A common base class for mime renderers. diff --git a/src/sql/workbench/parts/notebook/models/cell.ts b/src/sql/workbench/parts/notebook/node/models/cell.ts similarity index 98% rename from src/sql/workbench/parts/notebook/models/cell.ts rename to src/sql/workbench/parts/notebook/node/models/cell.ts index 4bc114bb9e..16f769b4a3 100644 --- a/src/sql/workbench/parts/notebook/models/cell.ts +++ b/src/sql/workbench/parts/notebook/node/models/cell.ts @@ -9,10 +9,10 @@ import { Event, Emitter } from 'vs/base/common/event'; import { URI } from 'vs/base/common/uri'; import { localize } from 'vs/nls'; -import * as notebookUtils from '../notebookUtils'; -import { CellTypes, CellType, NotebookChangeType } from 'sql/workbench/parts/notebook/models/contracts'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; -import { ICellModel, notebookConstants, IOutputChangedEvent } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import * as notebookUtils from './notebookUtils'; +import { CellTypes, CellType, NotebookChangeType } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; +import { ICellModel, notebookConstants, IOutputChangedEvent } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { ICellModelOptions, FutureInternal, CellExecutionState } from './modelInterfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; @@ -20,6 +20,7 @@ import { INotificationService, Severity } from 'vs/platform/notification/common/ import { Schemas } from 'vs/base/common/network'; import { INotebookService } from 'sql/workbench/services/notebook/common/notebookService'; import { optional } from 'vs/platform/instantiation/common/instantiation'; +import { getErrorMessage } from 'vs/base/common/errors'; let modelId = 0; export class CellModel implements ICellModel { @@ -288,7 +289,7 @@ export class CellModel implements ICellModel { if (error.message === 'Canceled') { message = localize('executionCanceled', 'Query execution was canceled'); } else { - message = notebookUtils.getErrorMessage(error); + message = getErrorMessage(error); } this.sendNotification(notificationService, Severity.Error, message); // TODO track error state for the cell diff --git a/src/sql/workbench/parts/notebook/models/cellMagicMapper.ts b/src/sql/workbench/parts/notebook/node/models/cellMagicMapper.ts similarity index 90% rename from src/sql/workbench/parts/notebook/models/cellMagicMapper.ts rename to src/sql/workbench/parts/notebook/node/models/cellMagicMapper.ts index 45ea53bc5e..20deed1b71 100644 --- a/src/sql/workbench/parts/notebook/models/cellMagicMapper.ts +++ b/src/sql/workbench/parts/notebook/node/models/cellMagicMapper.ts @@ -3,7 +3,8 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ICellMagicMapper, ILanguageMagic } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { ICellMagicMapper } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { ILanguageMagic } from 'sql/workbench/services/notebook/common/notebookService'; const defaultKernel = '*'; export class CellMagicMapper implements ICellMagicMapper { diff --git a/src/sql/workbench/parts/notebook/models/clientSession.ts b/src/sql/workbench/parts/notebook/node/models/clientSession.ts similarity index 98% rename from src/sql/workbench/parts/notebook/models/clientSession.ts rename to src/sql/workbench/parts/notebook/node/models/clientSession.ts index ed6432d651..0488704db8 100644 --- a/src/sql/workbench/parts/notebook/models/clientSession.ts +++ b/src/sql/workbench/parts/notebook/node/models/clientSession.ts @@ -13,9 +13,9 @@ import { localize } from 'vs/nls'; import { IClientSession, IKernelPreference, IClientSessionOptions } from './modelInterfaces'; import { Deferred } from 'sql/base/common/promise'; -import * as notebookUtils from '../notebookUtils'; import { INotebookManager } from 'sql/workbench/services/notebook/common/notebookService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; +import { getErrorMessage } from 'vs/base/common/errors'; type KernelChangeHandler = (kernel: nb.IKernelChangedArgs) => Promise; /** @@ -67,7 +67,7 @@ export class ClientSession implements IClientSession { await this.initializeSession(); await this.updateCachedKernelSpec(); } catch (err) { - this._errorMessage = notebookUtils.getErrorMessage(err) || localize('clientSession.unknownError', "An error occurred while starting the notebook session"); + this._errorMessage = getErrorMessage(err) || localize('clientSession.unknownError', "An error occurred while starting the notebook session"); } // Always resolving for now. It's up to callers to check for error case this._isReady = true; diff --git a/src/sql/workbench/parts/notebook/models/modelFactory.ts b/src/sql/workbench/parts/notebook/node/models/modelFactory.ts similarity index 100% rename from src/sql/workbench/parts/notebook/models/modelFactory.ts rename to src/sql/workbench/parts/notebook/node/models/modelFactory.ts diff --git a/src/sql/workbench/parts/notebook/models/modelInterfaces.ts b/src/sql/workbench/parts/notebook/node/models/modelInterfaces.ts similarity index 97% rename from src/sql/workbench/parts/notebook/models/modelInterfaces.ts rename to src/sql/workbench/parts/notebook/node/models/modelInterfaces.ts index 216acac174..d187fd6475 100644 --- a/src/sql/workbench/parts/notebook/models/modelInterfaces.ts +++ b/src/sql/workbench/parts/notebook/node/models/modelInterfaces.ts @@ -11,16 +11,16 @@ import { IDisposable } from 'vs/base/common/lifecycle'; import { URI } from 'vs/base/common/uri'; import { INotificationService } from 'vs/platform/notification/common/notification'; -import { CellType, NotebookChangeType } from 'sql/workbench/parts/notebook/models/contracts'; -import { INotebookManager } from 'sql/workbench/services/notebook/common/notebookService'; +import { CellType, NotebookChangeType } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { INotebookManager, ILanguageMagic } from 'sql/workbench/services/notebook/common/notebookService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { IStandardKernelWithProvider } from 'sql/workbench/parts/notebook/notebookUtils'; +import { IStandardKernelWithProvider } from 'sql/workbench/parts/notebook/node/models/notebookUtils'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { localize } from 'vs/nls'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; export interface IClientSessionOptions { @@ -514,13 +514,6 @@ export interface INotebookModelOptions { editorLoadedTimestamp?: number; } -export interface ILanguageMagic { - magic: string; - language: string; - kernels?: string[]; - executionTarget?: string; -} - export interface ICellMagicMapper { /** * Tries to find a language mapping for an identified cell magic diff --git a/src/sql/workbench/parts/notebook/models/notebookContexts.ts b/src/sql/workbench/parts/notebook/node/models/notebookContexts.ts similarity index 99% rename from src/sql/workbench/parts/notebook/models/notebookContexts.ts rename to src/sql/workbench/parts/notebook/node/models/notebookContexts.ts index 8826537eda..a92dfb6321 100644 --- a/src/sql/workbench/parts/notebook/models/notebookContexts.ts +++ b/src/sql/workbench/parts/notebook/node/models/notebookContexts.ts @@ -6,7 +6,7 @@ import { nb } from 'azdata'; import { localize } from 'vs/nls'; -import { IDefaultConnection, notebookConstants } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { IDefaultConnection, notebookConstants } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; diff --git a/src/sql/workbench/parts/notebook/models/notebookModel.ts b/src/sql/workbench/parts/notebook/node/models/notebookModel.ts similarity index 97% rename from src/sql/workbench/parts/notebook/models/notebookModel.ts rename to src/sql/workbench/parts/notebook/node/models/notebookModel.ts index 642e211e38..f00b857ed0 100644 --- a/src/sql/workbench/parts/notebook/models/notebookModel.ts +++ b/src/sql/workbench/parts/notebook/node/models/notebookModel.ts @@ -10,12 +10,12 @@ import { Event, Emitter } from 'vs/base/common/event'; import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; import { IClientSession, INotebookModel, IDefaultConnection, INotebookModelOptions, ICellModel, NotebookContentChange, notebookConstants } from './modelInterfaces'; -import { NotebookChangeType, CellType, CellTypes } from 'sql/workbench/parts/notebook/models/contracts'; -import { nbversion } from '../notebookConstants'; -import * as notebookUtils from '../notebookUtils'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import { NotebookChangeType, CellType, CellTypes } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { nbversion } from '../../common/models/notebookConstants'; +import * as notebookUtils from './notebookUtils'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { INotebookManager, SQL_NOTEBOOK_PROVIDER, DEFAULT_NOTEBOOK_PROVIDER } from 'sql/workbench/services/notebook/common/notebookService'; -import { NotebookContexts } from 'sql/workbench/parts/notebook/models/notebookContexts'; +import { NotebookContexts } from 'sql/workbench/parts/notebook/node/models/notebookContexts'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { INotification, Severity, INotificationService } from 'vs/platform/notification/common/notification'; import { URI } from 'vs/base/common/uri'; @@ -25,6 +25,7 @@ import { uriPrefixes } from 'sql/platform/connection/common/utils'; import { keys } from 'vs/base/common/map'; import { ILogService } from 'vs/platform/log/common/log'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; +import { getErrorMessage } from 'vs/base/common/errors'; /* * Used to control whether a message in a dialog/wizard is displayed as an error, @@ -626,13 +627,13 @@ export class NotebookModel extends Disposable implements INotebookModel { await this.updateKernelInfoOnKernelChange(kernel); } catch (err2) { // TODO should we handle this in any way? - this.logService.error(`doChangeKernel: ignoring error ${notebookUtils.getErrorMessage(err2)}`); + this.logService.error(`doChangeKernel: ignoring error ${getErrorMessage(err2)}`); } } } } catch (err) { if (oldDisplayName && restoreOnFail) { - this.notifyError(localize('changeKernelFailedRetry', "Failed to change kernel. Kernel {0} will be used. Error was: {1}", oldDisplayName, notebookUtils.getErrorMessage(err))); + this.notifyError(localize('changeKernelFailedRetry', "Failed to change kernel. Kernel {0} will be used. Error was: {1}", oldDisplayName, getErrorMessage(err))); // Clear out previous kernel let failedProviderId = this.tryFindProviderForKernel(displayName, true); let oldProviderId = this.tryFindProviderForKernel(oldDisplayName, true); @@ -643,7 +644,7 @@ export class NotebookModel extends Disposable implements INotebookModel { } return this.doChangeKernel(oldDisplayName, mustSetProvider, false); } else { - this.notifyError(localize('changeKernelFailed', "Failed to change kernel due to error: {0}", notebookUtils.getErrorMessage(err))); + this.notifyError(localize('changeKernelFailed', "Failed to change kernel due to error: {0}", getErrorMessage(err))); this._kernelChangedEmitter.fire({ newValue: undefined, oldValue: undefined @@ -698,7 +699,7 @@ export class NotebookModel extends Disposable implements INotebookModel { error => { if (error) { if (!hideErrorMessage) { - this.notifyError(notebookUtils.getErrorMessage(error)); + this.notifyError(getErrorMessage(error)); } //Selected a wrong connection, Attach to should be defaulted with 'Select connection' this._onValidConnectionSelected.fire(false); @@ -708,7 +709,7 @@ export class NotebookModel extends Disposable implements INotebookModel { this._onValidConnectionSelected.fire(false); } } catch (err) { - let msg = notebookUtils.getErrorMessage(err); + let msg = getErrorMessage(err); this.notifyError(localize('changeContextFailed', "Changing context failed: {0}", msg)); } } @@ -807,7 +808,7 @@ export class NotebookModel extends Disposable implements INotebookModel { } await this.shutdownActiveSession(); } catch (err) { - this.logService.error('An error occurred when closing the notebook: {0}', notebookUtils.getErrorMessage(err)); + this.logService.error('An error occurred when closing the notebook: {0}', getErrorMessage(err)); } } @@ -817,7 +818,7 @@ export class NotebookModel extends Disposable implements INotebookModel { await this._activeClientSession.ready; } catch (err) { - this.notifyError(localize('shutdownClientSessionError', "A client session error occurred when closing the notebook: {0}", notebookUtils.getErrorMessage(err))); + this.notifyError(localize('shutdownClientSessionError', "A client session error occurred when closing the notebook: {0}", getErrorMessage(err))); } await this._activeClientSession.shutdown(); this.clearClientSessionListeners(); diff --git a/src/sql/workbench/parts/notebook/notebookUtils.ts b/src/sql/workbench/parts/notebook/node/models/notebookUtils.ts similarity index 96% rename from src/sql/workbench/parts/notebook/notebookUtils.ts rename to src/sql/workbench/parts/notebook/node/models/notebookUtils.ts index a4fe2933fa..ff29e0029d 100644 --- a/src/sql/workbench/parts/notebook/notebookUtils.ts +++ b/src/sql/workbench/parts/notebook/node/models/notebookUtils.ts @@ -11,8 +11,8 @@ import { localize } from 'vs/nls'; import { DEFAULT_NOTEBOOK_PROVIDER, DEFAULT_NOTEBOOK_FILETYPE, INotebookService } from 'sql/workbench/services/notebook/common/notebookService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IOutputChannel } from 'vs/workbench/contrib/output/common/output'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; /** @@ -22,10 +22,6 @@ export function isStream(output: nb.ICellOutput): output is nb.IStreamResult { return output.output_type === 'stream'; } -export function getErrorMessage(error: Error | string): string { - return (error instanceof Error) ? error.message : error; -} - export function getUserHome(): string { return process.env.HOME || process.env.USERPROFILE; } diff --git a/src/sql/workbench/parts/notebook/notebookInput.ts b/src/sql/workbench/parts/notebook/node/notebookInput.ts similarity index 99% rename from src/sql/workbench/parts/notebook/notebookInput.ts rename to src/sql/workbench/parts/notebook/node/notebookInput.ts index 4a4fff93e1..55cd6bf9f0 100644 --- a/src/sql/workbench/parts/notebook/notebookInput.ts +++ b/src/sql/workbench/parts/notebook/node/notebookInput.ts @@ -10,11 +10,11 @@ import { URI } from 'vs/base/common/uri'; import * as resources from 'vs/base/common/resources'; import * as azdata from 'azdata'; -import { IStandardKernelWithProvider, getProvidersForFileName, getStandardKernelsForProvider } from 'sql/workbench/parts/notebook/notebookUtils'; +import { IStandardKernelWithProvider, getProvidersForFileName, getStandardKernelsForProvider } from 'sql/workbench/parts/notebook/node/models/notebookUtils'; import { INotebookService, DEFAULT_NOTEBOOK_PROVIDER, IProviderInfo } from 'sql/workbench/services/notebook/common/notebookService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ITextModelService } from 'vs/editor/common/services/resolverService'; -import { INotebookModel, IContentManager, NotebookContentChange } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { INotebookModel, IContentManager, NotebookContentChange } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel'; import { Range } from 'vs/editor/common/core/range'; import { UntitledEditorModel } from 'vs/workbench/common/editor/untitledEditorModel'; @@ -25,7 +25,7 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput'; import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { IDisposable } from 'vs/base/common/lifecycle'; -import { NotebookChangeType } from 'sql/workbench/parts/notebook/models/contracts'; +import { NotebookChangeType } from 'sql/workbench/parts/notebook/common/models/contracts'; export type ModeViewSaveHandler = (handle: number) => Thenable; diff --git a/src/sql/workbench/parts/notebook/outputs/gridOutput.component.ts b/src/sql/workbench/parts/notebook/outputs/gridOutput.component.ts index 7dfbcbaae8..204fef150b 100644 --- a/src/sql/workbench/parts/notebook/outputs/gridOutput.component.ts +++ b/src/sql/workbench/parts/notebook/outputs/gridOutput.component.ts @@ -3,14 +3,9 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { OnInit, Component, Input, Inject, ViewChild, ElementRef, AfterViewInit } from '@angular/core'; +import { OnInit, Component, Input, Inject, ViewChild, ElementRef } from '@angular/core'; import * as azdata from 'azdata'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; -import { IMimeComponent } from 'sql/workbench/parts/notebook/outputs/mimeRegistry'; -import { MimeModel } from 'sql/workbench/parts/notebook/outputs/common/mimemodel'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { GridTableBase, GridTableState } from 'sql/workbench/parts/query/electron-browser/gridPanel'; import { IGridDataProvider, getResultsString } from 'sql/platform/query/common/gridDataProvider'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -25,9 +20,15 @@ import { INotificationService } from 'vs/platform/notification/common/notificati import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { attachTableStyler } from 'sql/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; -import { getErrorMessage } from 'sql/workbench/parts/notebook/notebookUtils'; import { localize } from 'vs/nls'; import { IAction } from 'vs/base/common/actions'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; +import { IMimeComponent } from 'sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { MimeModel } from 'sql/workbench/parts/notebook/common/models/mimemodel'; +import { GridTableState } from 'sql/workbench/parts/query/common/gridPanelState'; +import { GridTableBase } from 'sql/workbench/parts/query/browser/gridPanel'; +import { getErrorMessage } from 'vs/base/common/errors'; @Component({ selector: GridOutputComponent.SELECTOR, diff --git a/src/sql/workbench/parts/notebook/outputs/plotlyOutput.component.ts b/src/sql/workbench/parts/notebook/outputs/plotlyOutput.component.ts index 990bff936b..20204fa6bf 100644 --- a/src/sql/workbench/parts/notebook/outputs/plotlyOutput.component.ts +++ b/src/sql/workbench/parts/notebook/outputs/plotlyOutput.component.ts @@ -5,14 +5,14 @@ import { OnInit, Component, Input, Inject, ElementRef, ViewChild } from '@angular/core'; -import { AngularDisposable } from 'sql/base/node/lifecycle'; -import { IMimeComponent } from 'sql/workbench/parts/notebook/outputs/mimeRegistry'; -import { MimeModel } from 'sql/workbench/parts/notebook/outputs/common/mimemodel'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; import { IThemeService } from 'vs/platform/theme/common/themeService'; -import { getErrorMessage } from 'sql/workbench/parts/notebook/notebookUtils'; import { localize } from 'vs/nls'; import * as types from 'vs/base/common/types'; +import { AngularDisposable } from 'sql/base/browser/lifecycle'; +import { IMimeComponent } from 'sql/workbench/parts/notebook/electron-browser/outputs/mimeRegistry'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { MimeModel } from 'sql/workbench/parts/notebook/common/models/mimemodel'; +import { getErrorMessage } from 'vs/base/common/errors'; type ObjectType = object; @@ -154,4 +154,4 @@ export class PlotlyOutputComponent extends AngularDisposable implements IMimeCom return !types.isUndefinedOrNull(this.errorText); } -} \ No newline at end of file +} diff --git a/src/sqltest/parts/notebook/model/cell.test.ts b/src/sql/workbench/parts/notebook/test/node/cell.test.ts similarity index 97% rename from src/sqltest/parts/notebook/model/cell.test.ts rename to src/sql/workbench/parts/notebook/test/node/cell.test.ts index f2f84d0c29..ee6512655e 100644 --- a/src/sqltest/parts/notebook/model/cell.test.ts +++ b/src/sql/workbench/parts/notebook/test/node/cell.test.ts @@ -9,11 +9,11 @@ import { nb } from 'azdata'; import * as objects from 'vs/base/common/objects'; -import { CellTypes } from 'sql/workbench/parts/notebook/models/contracts'; -import { ModelFactory } from 'sql/workbench/parts/notebook/models/modelFactory'; -import { NotebookModelStub } from '../common'; +import { CellTypes } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { ModelFactory } from 'sql/workbench/parts/notebook/node/models/modelFactory'; +import { NotebookModelStub } from './common'; import { EmptyFuture } from 'sql/workbench/services/notebook/common/sessionManager'; -import { ICellModel } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { ICellModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { Deferred } from 'sql/base/common/promise'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/sqltest/parts/notebook/model/clientSession.test.ts b/src/sql/workbench/parts/notebook/test/node/clientSession.test.ts similarity index 97% rename from src/sqltest/parts/notebook/model/clientSession.test.ts rename to src/sql/workbench/parts/notebook/test/node/clientSession.test.ts index ea421247b2..3733414121 100644 --- a/src/sqltest/parts/notebook/model/clientSession.test.ts +++ b/src/sql/workbench/parts/notebook/test/node/clientSession.test.ts @@ -11,9 +11,9 @@ import { INotificationService } from 'vs/platform/notification/common/notificati import { TestNotificationService } from 'vs/platform/notification/test/common/testNotificationService'; import { URI } from 'vs/base/common/uri'; -import { ClientSession } from 'sql/workbench/parts/notebook/models/clientSession'; +import { ClientSession } from 'sql/workbench/parts/notebook/node/models/clientSession'; import { SessionManager, EmptySession } from 'sql/workbench/services/notebook/common/sessionManager'; -import { NotebookManagerStub, ServerManagerStub } from 'sqltest/parts/notebook/common'; +import { NotebookManagerStub, ServerManagerStub } from './common'; suite('Client Session', function (): void { let path = URI.file('my/notebook.ipynb'); diff --git a/src/sqltest/parts/notebook/common.ts b/src/sql/workbench/parts/notebook/test/node/common.ts similarity index 97% rename from src/sqltest/parts/notebook/common.ts rename to src/sql/workbench/parts/notebook/test/node/common.ts index e3d5314018..5a9fcb40b0 100644 --- a/src/sqltest/parts/notebook/common.ts +++ b/src/sql/workbench/parts/notebook/test/node/common.ts @@ -6,11 +6,11 @@ import { nb, IConnectionProfile } from 'azdata'; import { Event, Emitter } from 'vs/base/common/event'; -import { INotebookModel, ICellModel, IClientSession, IDefaultConnection, NotebookContentChange } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { NotebookChangeType, CellType } from 'sql/workbench/parts/notebook/models/contracts'; +import { INotebookModel, ICellModel, IClientSession, IDefaultConnection, NotebookContentChange } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { NotebookChangeType, CellType } from 'sql/workbench/parts/notebook/common/models/contracts'; import { INotebookManager } from 'sql/workbench/services/notebook/common/notebookService'; import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { IStandardKernelWithProvider } from 'sql/workbench/parts/notebook/notebookUtils'; +import { IStandardKernelWithProvider } from 'sql/workbench/parts/notebook/node/models/notebookUtils'; export class NotebookModelStub implements INotebookModel { constructor(private _languageInfo?: nb.ILanguageInfo) { diff --git a/src/sqltest/parts/notebook/model/contentManagers.test.ts b/src/sql/workbench/parts/notebook/test/node/contentManagers.test.ts similarity index 96% rename from src/sqltest/parts/notebook/model/contentManagers.test.ts rename to src/sql/workbench/parts/notebook/test/node/contentManagers.test.ts index 27ff9f00c8..e5a50e38a3 100644 --- a/src/sqltest/parts/notebook/model/contentManagers.test.ts +++ b/src/sql/workbench/parts/notebook/test/node/contentManagers.test.ts @@ -9,8 +9,8 @@ import { nb } from 'azdata'; import { URI } from 'vs/base/common/uri'; import * as tempWrite from 'temp-write'; import { LocalContentManager } from 'sql/workbench/services/notebook/node/localContentManager'; -import * as testUtils from '../../../utils/testUtils'; -import { CellTypes } from 'sql/workbench/parts/notebook/models/contracts'; +import * as testUtils from '../../../../../../sqltest/utils/testUtils'; +import { CellTypes } from 'sql/workbench/parts/notebook/common/models/contracts'; let expectedNotebookContent: nb.INotebookContents = { cells: [{ diff --git a/src/sqltest/parts/notebook/model/notebookModel.test.ts b/src/sql/workbench/parts/notebook/test/node/notebookModel.test.ts similarity index 95% rename from src/sqltest/parts/notebook/model/notebookModel.test.ts rename to src/sql/workbench/parts/notebook/test/node/notebookModel.test.ts index 17f133b6bd..3c8d729059 100644 --- a/src/sqltest/parts/notebook/model/notebookModel.test.ts +++ b/src/sql/workbench/parts/notebook/test/node/notebookModel.test.ts @@ -12,17 +12,17 @@ import { TestNotificationService } from 'vs/platform/notification/test/common/te import { URI } from 'vs/base/common/uri'; import { LocalContentManager } from 'sql/workbench/services/notebook/node/localContentManager'; -import { NotebookManagerStub } from '../common'; -import { NotebookModel } from 'sql/workbench/parts/notebook/models/notebookModel'; -import { ModelFactory } from 'sql/workbench/parts/notebook/models/modelFactory'; -import { IClientSession, ICellModel, INotebookModelOptions, NotebookContentChange } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { ClientSession } from 'sql/workbench/parts/notebook/models/clientSession'; -import { CellTypes, NotebookChangeType } from 'sql/workbench/parts/notebook/models/contracts'; +import { NotebookManagerStub } from './common'; +import { NotebookModel } from 'sql/workbench/parts/notebook/node/models/notebookModel'; +import { ModelFactory } from 'sql/workbench/parts/notebook/node/models/modelFactory'; +import { IClientSession, ICellModel, INotebookModelOptions, NotebookContentChange } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { ClientSession } from 'sql/workbench/parts/notebook/node/models/clientSession'; +import { CellTypes, NotebookChangeType } from 'sql/workbench/parts/notebook/common/models/contracts'; import { Deferred } from 'sql/base/common/promise'; import { ConnectionManagementService } from 'sql/platform/connection/common/connectionManagementService'; import { Memento } from 'vs/workbench/common/memento'; import { Emitter } from 'vs/base/common/event'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { TestStorageService } from 'vs/workbench/test/workbenchTestServices'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -88,7 +88,7 @@ suite('notebook model', function (): void { setup(() => { sessionReady = new Deferred(); notificationService = TypeMoq.Mock.ofType(TestNotificationService, TypeMoq.MockBehavior.Loose); - capabilitiesService = TypeMoq.Mock.ofType(CapabilitiesTestService); + capabilitiesService = TypeMoq.Mock.ofType(TestCapabilitiesService); memento = TypeMoq.Mock.ofType(Memento, TypeMoq.MockBehavior.Loose, ''); memento.setup(x => x.getMemento(TypeMoq.It.isAny())).returns(() => void 0); queryConnectionService = TypeMoq.Mock.ofType(ConnectionManagementService, TypeMoq.MockBehavior.Loose, memento.object, undefined, new TestStorageService()); diff --git a/src/sqltest/parts/notebook/model/notebookUtils.test.ts b/src/sql/workbench/parts/notebook/test/node/notebookUtils.test.ts similarity index 90% rename from src/sqltest/parts/notebook/model/notebookUtils.test.ts rename to src/sql/workbench/parts/notebook/test/node/notebookUtils.test.ts index 51d34d286a..60b2d537ad 100644 --- a/src/sqltest/parts/notebook/model/notebookUtils.test.ts +++ b/src/sql/workbench/parts/notebook/test/node/notebookUtils.test.ts @@ -6,9 +6,9 @@ import * as should from 'should'; import { IConnectionProfile } from 'azdata'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; -import { formatServerNameWithDatabaseNameForAttachTo, getServerFromFormattedAttachToName, getDatabaseFromFormattedAttachToName } from 'sql/workbench/parts/notebook/notebookUtils'; +import { formatServerNameWithDatabaseNameForAttachTo, getServerFromFormattedAttachToName, getDatabaseFromFormattedAttachToName } from 'sql/workbench/parts/notebook/node/models/notebookUtils'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; suite('notebookUtils', function (): void { @@ -30,7 +30,7 @@ suite('notebookUtils', function (): void { }; test('Should format server and database name correctly for attach to', async function (): Promise { - let capabilitiesService = new CapabilitiesTestService(); + let capabilitiesService = new TestCapabilitiesService(); let connProfile = new ConnectionProfile(capabilitiesService, conn); connProfile.serverName = 'serverName'; connProfile.databaseName = 'databaseName'; @@ -39,7 +39,7 @@ suite('notebookUtils', function (): void { }); test('Should format server name correctly for attach to', async function (): Promise { - let capabilitiesService = new CapabilitiesTestService(); + let capabilitiesService = new TestCapabilitiesService(); let connProfile = new ConnectionProfile(capabilitiesService, conn); connProfile.serverName = 'serverName'; let attachToNameFormatted = formatServerNameWithDatabaseNameForAttachTo(connProfile); @@ -47,7 +47,7 @@ suite('notebookUtils', function (): void { }); test('Should format server name correctly for attach to when database is undefined', async function (): Promise { - let capabilitiesService = new CapabilitiesTestService(); + let capabilitiesService = new TestCapabilitiesService(); let connProfile = new ConnectionProfile(capabilitiesService, conn); connProfile.serverName = 'serverName'; connProfile.databaseName = undefined; @@ -56,7 +56,7 @@ suite('notebookUtils', function (): void { }); test('Should format server name as empty string when server/database are undefined', async function (): Promise { - let capabilitiesService = new CapabilitiesTestService(); + let capabilitiesService = new TestCapabilitiesService(); let connProfile = new ConnectionProfile(capabilitiesService, conn); connProfile.serverName = undefined; connProfile.databaseName = undefined; diff --git a/src/sql/workbench/parts/objectExplorer/browser/serverGroupDialog.ts b/src/sql/workbench/parts/objectExplorer/browser/serverGroupDialog.ts index b747ee49fa..8cce2db4c2 100644 --- a/src/sql/workbench/parts/objectExplorer/browser/serverGroupDialog.ts +++ b/src/sql/workbench/parts/objectExplorer/browser/serverGroupDialog.ts @@ -23,7 +23,7 @@ import { Modal } from 'sql/workbench/browser/modal/modal'; import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox'; import { ServerGroupViewModel } from 'sql/workbench/parts/objectExplorer/common/serverGroupViewModel'; import { attachButtonStyler, attachModalDialogStyler } from 'sql/platform/theme/common/styler'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; import { ILogService } from 'vs/platform/log/common/log'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; diff --git a/src/sql/workbench/parts/objectExplorer/browser/serverTreeActionProvider.ts b/src/sql/workbench/parts/objectExplorer/browser/serverTreeActionProvider.ts index 491805ca2f..79489cecba 100644 --- a/src/sql/workbench/parts/objectExplorer/browser/serverTreeActionProvider.ts +++ b/src/sql/workbench/parts/objectExplorer/browser/serverTreeActionProvider.ts @@ -31,7 +31,7 @@ import { IQueryManagementService } from 'sql/platform/query/common/queryManageme import { IScriptingService } from 'sql/platform/scripting/common/scriptingService'; import { ServerInfoContextKey } from 'sql/workbench/parts/connection/common/serverInfoContextKey'; import { fillInActions } from 'vs/platform/actions/browser/menuEntryActionViewItem'; -import { NewNotebookAction } from 'sql/workbench/parts/notebook/notebookActions'; +import { NewNotebookAction } from 'sql/workbench/parts/notebook/electron-browser/notebookActions'; /** * Provides actions for the server tree elements diff --git a/src/sqltest/parts/connection/connectionTreeActions.test.ts b/src/sql/workbench/parts/objectExplorer/test/browser/connectionTreeActions.test.ts similarity index 98% rename from src/sqltest/parts/connection/connectionTreeActions.test.ts rename to src/sql/workbench/parts/objectExplorer/test/browser/connectionTreeActions.test.ts index e5c47e3ddc..674977b685 100644 --- a/src/sqltest/parts/connection/connectionTreeActions.test.ts +++ b/src/sql/workbench/parts/objectExplorer/test/browser/connectionTreeActions.test.ts @@ -12,8 +12,8 @@ import { ActiveConnectionsFilterAction, RecentConnectionsFilterAction } from 'sql/workbench/parts/objectExplorer/browser/connectionTreeAction'; -import { TestConnectionManagementService } from 'sqltest/stubs/connectionManagementService.test'; -import { ErrorMessageServiceStub } from 'sqltest/stubs/errorMessageServiceStub'; +import { TestConnectionManagementService } from 'sql/platform/connection/test/common/testConnectionManagementService'; +import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; import { ServerTreeView } from 'sql/workbench/parts/objectExplorer/browser/serverTreeView'; import * as LocalizedConstants from 'sql/workbench/parts/connection/common/localizedConstants'; @@ -27,21 +27,21 @@ import Severity from 'vs/base/common/severity'; import { ObjectExplorerActionsContext, ManageConnectionAction } from 'sql/workbench/parts/objectExplorer/browser/objectExplorerActions'; import { IConnectionResult, IConnectionParams } from 'sql/platform/connection/common/connectionManagement'; import { TreeSelectionHandler } from 'sql/workbench/parts/objectExplorer/browser/treeSelectionHandler'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { UNSAVED_GROUP_ID, mssqlProviderName } from 'sql/platform/connection/common/constants'; import { $ } from 'vs/base/browser/dom'; suite('SQL Connection Tree Action tests', () => { - let errorMessageService: TypeMoq.Mock; + let errorMessageService: TypeMoq.Mock; let connectionResult: IConnectionResult = { connected: true, errorMessage: undefined, errorCode: undefined, callStack: undefined }; - let capabilitiesService = new CapabilitiesTestService(); + let capabilitiesService = new TestCapabilitiesService(); setup(() => { - errorMessageService = TypeMoq.Mock.ofType(ErrorMessageServiceStub, TypeMoq.MockBehavior.Loose); + errorMessageService = TypeMoq.Mock.ofType(TestErrorMessageService, TypeMoq.MockBehavior.Loose); let nothing: void; errorMessageService.setup(x => x.showDialog(Severity.Error, TypeMoq.It.isAnyString(), TypeMoq.It.isAnyString())).returns(() => nothing); }); diff --git a/src/sqltest/parts/registeredServer/viewlet/serverTreeView.test.ts b/src/sql/workbench/parts/objectExplorer/test/browser/serverTreeView.test.ts similarity index 96% rename from src/sqltest/parts/registeredServer/viewlet/serverTreeView.test.ts rename to src/sql/workbench/parts/objectExplorer/test/browser/serverTreeView.test.ts index 05a01987e3..68e8f9e17c 100644 --- a/src/sqltest/parts/registeredServer/viewlet/serverTreeView.test.ts +++ b/src/sql/workbench/parts/objectExplorer/test/browser/serverTreeView.test.ts @@ -12,14 +12,14 @@ import { TestInstantiationService } from 'vs/platform/instantiation/test/common/ import { TestStorageService } from 'vs/workbench/test/workbenchTestServices'; import * as TypeMoq from 'typemoq'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; suite('ServerTreeView onAddConnectionProfile handler tests', () => { let serverTreeView: ServerTreeView; let mockTree: TypeMoq.Mock; let mockRefreshTreeMethod: TypeMoq.Mock; - let capabilitiesService = new CapabilitiesTestService(); + let capabilitiesService = new TestCapabilitiesService(); setup(() => { let instantiationService = new TestInstantiationService(); diff --git a/src/sql/workbench/parts/profiler/browser/profilerActions.ts b/src/sql/workbench/parts/profiler/browser/profilerActions.ts index b7f6f8f90e..cfa43a7d29 100644 --- a/src/sql/workbench/parts/profiler/browser/profilerActions.ts +++ b/src/sql/workbench/parts/profiler/browser/profilerActions.ts @@ -6,7 +6,7 @@ import { IProfilerService } from 'sql/workbench/services/profiler/common/interfaces'; import { IProfilerController } from 'sql/workbench/parts/profiler/common/interfaces'; import { ProfilerInput } from 'sql/workbench/parts/profiler/browser/profilerInput'; -import { Task } from 'sql/platform/tasks/common/tasks'; +import { Task } from 'sql/platform/tasks/browser/tasksRegistry'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IConnectionManagementService, IConnectionCompletionOptions } from 'sql/platform/connection/common/connectionManagement'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; diff --git a/src/sql/workbench/parts/profiler/browser/profilerColumnEditorDialog.ts b/src/sql/workbench/parts/profiler/browser/profilerColumnEditorDialog.ts index 12efe9ee27..29111167df 100644 --- a/src/sql/workbench/parts/profiler/browser/profilerColumnEditorDialog.ts +++ b/src/sql/workbench/parts/profiler/browser/profilerColumnEditorDialog.ts @@ -8,7 +8,7 @@ import 'vs/css!./media/profiler'; import { Modal } from 'sql/workbench/browser/modal/modal'; import { attachModalDialogStyler } from 'sql/platform/theme/common/styler'; import { ProfilerInput } from 'sql/workbench/parts/profiler/browser/profilerInput'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; diff --git a/src/sql/workbench/parts/profiler/browser/profilerFilterDialog.ts b/src/sql/workbench/parts/profiler/browser/profilerFilterDialog.ts index d8a3b8f6ed..0fa20afbb7 100644 --- a/src/sql/workbench/parts/profiler/browser/profilerFilterDialog.ts +++ b/src/sql/workbench/parts/profiler/browser/profilerFilterDialog.ts @@ -6,7 +6,7 @@ import 'vs/css!./media/profilerFilterDialog'; import { Button } from 'sql/base/browser/ui/button/button'; import { Modal } from 'sql/workbench/browser/modal/modal'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { attachButtonStyler, attachModalDialogStyler, attachInputBoxStyler } from 'sql/platform/theme/common/styler'; import { KeyCode } from 'vs/base/common/keyCodes'; import { IThemeService } from 'vs/platform/theme/common/themeService'; diff --git a/src/sql/workbench/parts/query/browser/actions.ts b/src/sql/workbench/parts/query/browser/actions.ts index 8a88a82038..db19103e29 100644 --- a/src/sql/workbench/parts/query/browser/actions.ts +++ b/src/sql/workbench/parts/query/browser/actions.ts @@ -11,13 +11,13 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic import { SaveFormat } from 'sql/workbench/parts/grid/common/interfaces'; import { Table } from 'sql/base/browser/ui/table/table'; -import { GridTableState } from 'sql/workbench/parts/query/electron-browser/gridPanel'; import { QueryEditor } from './queryEditor'; import { CellSelectionModel } from 'sql/base/browser/ui/table/plugins/cellSelectionModel.plugin'; import { isWindows } from 'vs/base/common/platform'; import { removeAnsiEscapeCodes } from 'vs/base/common/strings'; import { IGridDataProvider } from 'sql/platform/query/common/gridDataProvider'; import { INotificationService } from 'vs/platform/notification/common/notification'; +import { GridTableState } from 'sql/workbench/parts/query/common/gridPanelState'; export interface IGridActionContext { gridDataProvider: IGridDataProvider; diff --git a/src/sql/workbench/parts/query/electron-browser/gridPanel.ts b/src/sql/workbench/parts/query/browser/gridPanel.ts similarity index 95% rename from src/sql/workbench/parts/query/electron-browser/gridPanel.ts rename to src/sql/workbench/parts/query/browser/gridPanel.ts index cf7f7fdb69..7ffc4ff355 100644 --- a/src/sql/workbench/parts/query/electron-browser/gridPanel.ts +++ b/src/sql/workbench/parts/query/browser/gridPanel.ts @@ -43,6 +43,7 @@ import { localize } from 'vs/nls'; import { IGridDataProvider } from 'sql/platform/query/common/gridDataProvider'; import { formatDocumentWithSelectedProvider, FormattingMode } from 'vs/editor/contrib/format/format'; import { CancellationToken } from 'vs/base/common/cancellation'; +import { GridPanelState, GridTableState } from 'sql/workbench/parts/query/common/gridPanelState'; const ROW_HEIGHT = 29; const HEADER_HEIGHT = 26; @@ -57,63 +58,6 @@ const ACTIONBAR_HEIGHT = 120; // this handles min size if rows is greater than the min grid visible rows const MIN_GRID_HEIGHT = (MIN_GRID_HEIGHT_ROWS * ROW_HEIGHT) + HEADER_HEIGHT + ESTIMATED_SCROLL_BAR_HEIGHT; -export class GridPanelState { - public tableStates: GridTableState[] = []; - public scrollPosition: number; - - dispose() { - dispose(this.tableStates); - } -} - -export class GridTableState extends Disposable { - - private _maximized: boolean; - - private _onMaximizedChange = this._register(new Emitter()); - public onMaximizedChange: Event = this._onMaximizedChange.event; - - private _onCanBeMaximizedChange = this._register(new Emitter()); - public onCanBeMaximizedChange: Event = this._onCanBeMaximizedChange.event; - - private _canBeMaximized: boolean; - - /* The top row of the current scroll */ - public scrollPositionY = 0; - public scrollPositionX = 0; - public columnSizes: number[] = undefined; - public selection: Slick.Range[]; - public activeCell: Slick.Cell; - - constructor(public readonly resultId: number, public readonly batchId: number) { - super(); - } - - public get canBeMaximized(): boolean { - return this._canBeMaximized; - } - - public set canBeMaximized(val: boolean) { - if (val === this._canBeMaximized) { - return; - } - this._canBeMaximized = val; - this._onCanBeMaximizedChange.fire(val); - } - - public get maximized(): boolean { - return this._maximized; - } - - public set maximized(val: boolean) { - if (val === this._maximized) { - return; - } - this._maximized = val; - this._onMaximizedChange.fire(val); - } -} - export class GridPanel { private container = document.createElement('div'); private splitView: ScrollableSplitView; diff --git a/src/sql/workbench/parts/query/browser/messagePanel.ts b/src/sql/workbench/parts/query/browser/messagePanel.ts index 73fcb8409d..4b9722a8eb 100644 --- a/src/sql/workbench/parts/query/browser/messagePanel.ts +++ b/src/sql/workbench/parts/query/browser/messagePanel.ts @@ -20,7 +20,6 @@ import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { OpenMode, ClickBehavior, ICancelableEvent, IControllerOptions } from 'vs/base/parts/tree/browser/treeDefaults'; import { WorkbenchTreeController } from 'vs/platform/list/browser/listService'; -import { IMouseEvent } from 'vs/base/browser/mouseEvent'; import { isArray } from 'vs/base/common/types'; import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; @@ -30,6 +29,7 @@ import { $, Dimension, createStyleSheet } from 'vs/base/browser/dom'; import { QueryEditor } from 'sql/workbench/parts/query/browser/queryEditor'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { resultsErrorColor } from 'sql/platform/theme/common/colors'; +import { MessagePanelState } from 'sql/workbench/parts/query/common/messagePanelState'; export interface IResultMessageIntern extends IQueryMessage { id?: string; @@ -60,14 +60,6 @@ const TemplateIds = { ERROR: 'error' }; -export class MessagePanelState { - public scrollPosition: number; - - dispose() { - - } -} - export class MessagePanel extends Disposable { private ds = new MessageDataSource(); private renderer = new MessageRenderer(); diff --git a/src/sql/workbench/parts/query/modelViewTab/media/dialogModal.css b/src/sql/workbench/parts/query/browser/modelViewTab/media/dialogModal.css similarity index 100% rename from src/sql/workbench/parts/query/modelViewTab/media/dialogModal.css rename to src/sql/workbench/parts/query/browser/modelViewTab/media/dialogModal.css diff --git a/src/sql/workbench/parts/query/modelViewTab/media/loading.svg b/src/sql/workbench/parts/query/browser/modelViewTab/media/loading.svg similarity index 100% rename from src/sql/workbench/parts/query/modelViewTab/media/loading.svg rename to src/sql/workbench/parts/query/browser/modelViewTab/media/loading.svg diff --git a/src/sql/workbench/parts/query/modelViewTab/media/loading_inverse.svg b/src/sql/workbench/parts/query/browser/modelViewTab/media/loading_inverse.svg similarity index 100% rename from src/sql/workbench/parts/query/modelViewTab/media/loading_inverse.svg rename to src/sql/workbench/parts/query/browser/modelViewTab/media/loading_inverse.svg diff --git a/src/sql/workbench/parts/query/modelViewTab/media/wizardNavigation.css b/src/sql/workbench/parts/query/browser/modelViewTab/media/wizardNavigation.css similarity index 100% rename from src/sql/workbench/parts/query/modelViewTab/media/wizardNavigation.css rename to src/sql/workbench/parts/query/browser/modelViewTab/media/wizardNavigation.css diff --git a/src/sql/workbench/parts/query/modelViewTab/queryModelViewTab.module.ts b/src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTab.module.ts similarity index 69% rename from src/sql/workbench/parts/query/modelViewTab/queryModelViewTab.module.ts rename to src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTab.module.ts index 0bacbcdf96..0a4d908501 100644 --- a/src/sql/workbench/parts/query/modelViewTab/queryModelViewTab.module.ts +++ b/src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTab.module.ts @@ -9,21 +9,22 @@ import { forwardRef, NgModule, ComponentFactoryResolver, Inject, ApplicationRef import { FormsModule } from '@angular/forms'; import { CommonModule, APP_BASE_HREF } from '@angular/common'; import { BrowserModule } from '@angular/platform-browser'; -import { WizardNavigation } from 'sql/platform/dialog/wizardNavigation.component'; -import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/common/modelComponentRegistry'; -import { ModelViewContent } from 'sql/workbench/electron-browser/modelComponents/modelViewContent.component'; -import { ModelComponentWrapper } from 'sql/workbench/electron-browser/modelComponents/modelComponentWrapper.component'; -import { ComponentHostDirective } from 'sql/workbench/parts/dashboard/common/componentHost.directive'; -import { IBootstrapParams, ISelector, providerIterator } from 'sql/platform/bootstrap/node/bootstrapService'; -import { CommonServiceInterface } from 'sql/platform/bootstrap/node/commonServiceInterface.service'; -import { EditableDropDown } from 'sql/platform/electron-browser/editableDropdown/editableDropdown.component'; -import { QueryModelViewTabContainer } from 'sql/workbench/parts/query/modelViewTab/queryModelViewTabContainer.component'; -import { Checkbox } from 'sql/base/electron-browser/ui/checkbox/checkbox.component'; -import { SelectBox } from 'sql/platform/ui/electron-browser/selectBox/selectBox.component'; -import { InputBox } from 'sql/base/electron-browser/ui/inputBox/inputBox.component'; +import { WizardNavigation } from 'sql/platform/dialog/browser/wizardNavigation.component'; +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/parts/dashboard/browser/core/componentHost.directive'; +import { providerIterator } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { CommonServiceInterface } from 'sql/platform/bootstrap/browser/commonServiceInterface.service'; +import { EditableDropDown } from 'sql/platform/browser/editableDropdown/editableDropdown.component'; +import { QueryModelViewTabContainer } from 'sql/workbench/parts/query/browser/modelViewTab/queryModelViewTabContainer.component'; +import { Checkbox } from 'sql/base/browser/ui/checkbox/checkbox.component'; +import { SelectBox } from 'sql/platform/browser/selectBox/selectBox.component'; +import { InputBox } from 'sql/platform/browser/inputbox/inputBox.component'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { Registry } from 'vs/platform/registry/common/platform'; +import { IBootstrapParams, ISelector } from 'sql/platform/bootstrap/common/bootstrapParams'; export const QueryModelViewTabModule = (params, selector: string, instantiationService: IInstantiationService): any => { diff --git a/src/sql/workbench/parts/query/modelViewTab/queryModelViewTab.ts b/src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTab.ts similarity index 89% rename from src/sql/workbench/parts/query/modelViewTab/queryModelViewTab.ts rename to src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTab.ts index 3295e14b89..f683e65677 100644 --- a/src/sql/workbench/parts/query/modelViewTab/queryModelViewTab.ts +++ b/src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTab.ts @@ -7,9 +7,9 @@ import { Dimension } from 'vs/base/browser/dom'; import { dispose } from 'vs/base/common/lifecycle'; import { IPanelView, IPanelTab } from 'sql/base/browser/ui/panel/panel'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; -import { QueryModelViewTabModule } from 'sql/workbench/parts/query/modelViewTab/queryModelViewTab.module'; -import { ResultsViewState } from 'sql/workbench/parts/query/common/queryResultsInput'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { QueryModelViewTabModule } from 'sql/workbench/parts/query/browser/modelViewTab/queryModelViewTab.module'; +import { QueryModelViewState } from 'sql/workbench/parts/query/common/modelViewTab/modelViewState'; export class QueryModelViewTab implements IPanelTab { public identifier = 'QueryModelViewTab_'; @@ -43,12 +43,6 @@ export class QueryModelViewTab implements IPanelTab { } } -export class QueryModelViewState { - public componentId: string; - public dispose() { - } -} - export class QueryModelViewTabView implements IPanelView { public state: QueryModelViewState = new QueryModelViewState(); diff --git a/src/sql/workbench/parts/query/modelViewTab/queryModelViewTabContainer.component.ts b/src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTabContainer.component.ts similarity index 84% rename from src/sql/workbench/parts/query/modelViewTab/queryModelViewTabContainer.component.ts rename to src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTabContainer.component.ts index a6ba8f4790..073ce5ebd1 100644 --- a/src/sql/workbench/parts/query/modelViewTab/queryModelViewTabContainer.component.ts +++ b/src/sql/workbench/parts/query/browser/modelViewTab/queryModelViewTabContainer.component.ts @@ -5,11 +5,11 @@ import 'vs/css!./media/dialogModal'; import { Component, ViewChild, Inject, forwardRef, ElementRef, AfterViewInit } from '@angular/core'; -import { ModelViewContent } from 'sql/workbench/electron-browser/modelComponents/modelViewContent.component'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; -import { DialogPane } from 'sql/platform/dialog/dialogPane'; -import { ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; +import { ModelViewContent } from 'sql/workbench/browser/modelComponents/modelViewContent.component'; +import { DialogPane } from 'sql/platform/dialog/browser/dialogPane'; +import { ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; import { Event, Emitter } from 'vs/base/common/event'; +import { IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; export interface LayoutRequestParams { modelViewId?: string; diff --git a/src/sql/workbench/parts/query/browser/queryResultsEditor.ts b/src/sql/workbench/parts/query/browser/queryResultsEditor.ts index 4d3dd8e768..184eea1ea6 100644 --- a/src/sql/workbench/parts/query/browser/queryResultsEditor.ts +++ b/src/sql/workbench/parts/query/browser/queryResultsEditor.ts @@ -19,11 +19,7 @@ import { QueryResultsInput } from 'sql/workbench/parts/query/common/queryResults import { QueryResultsView } from 'sql/workbench/parts/query/browser/queryResultsView'; import { CancellationToken } from 'vs/base/common/cancellation'; import { IStorageService } from 'vs/platform/storage/common/storage'; - -export const RESULTS_GRID_DEFAULTS = { - cellPadding: [5, 8, 4], - rowHeight: 24 -}; +import { RESULTS_GRID_DEFAULTS } from 'sql/workbench/parts/query/common/resultsGridContribution'; export const TextCompareEditorVisible = new RawContextKey('textCompareEditorVisible', false); diff --git a/src/sql/workbench/parts/query/browser/queryResultsView.ts b/src/sql/workbench/parts/query/browser/queryResultsView.ts index f6704b0d37..fbe88f871b 100644 --- a/src/sql/workbench/parts/query/browser/queryResultsView.ts +++ b/src/sql/workbench/parts/query/browser/queryResultsView.ts @@ -7,12 +7,12 @@ import { QueryResultsInput } from 'sql/workbench/parts/query/common/queryResults import { TabbedPanel, IPanelTab, IPanelView } from 'sql/base/browser/ui/panel/panel'; import { IQueryModelService } from 'sql/platform/query/common/queryModel'; import QueryRunner from 'sql/platform/query/common/queryRunner'; -import { MessagePanel, MessagePanelState } from 'sql/workbench/parts/query/browser/messagePanel'; -import { GridPanel, GridPanelState } from 'sql/workbench/parts/query/electron-browser/gridPanel'; +import { MessagePanel } from 'sql/workbench/parts/query/browser/messagePanel'; +import { GridPanel } from 'sql/workbench/parts/query/browser/gridPanel'; import { ChartTab } from 'sql/workbench/parts/charts/browser/chartTab'; -import { QueryPlanTab } from 'sql/workbench/parts/queryPlan/electron-browser/queryPlan'; +import { QueryPlanTab } from 'sql/workbench/parts/queryPlan/browser/queryPlan'; import { TopOperationsTab } from 'sql/workbench/parts/queryPlan/browser/topOperations'; -import { QueryModelViewTab } from 'sql/workbench/parts/query/modelViewTab/queryModelViewTab'; +import { QueryModelViewTab } from 'sql/workbench/parts/query/browser/modelViewTab/queryModelViewTab'; import * as nls from 'vs/nls'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -20,6 +20,8 @@ import * as DOM from 'vs/base/browser/dom'; import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle'; import { attachTabbedPanelStyler } from 'sql/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; +import { MessagePanelState } from 'sql/workbench/parts/query/common/messagePanelState'; +import { GridPanelState } from 'sql/workbench/parts/query/common/gridPanelState'; class MessagesView extends Disposable implements IPanelView { private messagePanel: MessagePanel; diff --git a/src/sql/workbench/parts/query/common/gridPanelState.ts b/src/sql/workbench/parts/query/common/gridPanelState.ts new file mode 100644 index 0000000000..ffb2b83d34 --- /dev/null +++ b/src/sql/workbench/parts/query/common/gridPanelState.ts @@ -0,0 +1,64 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { dispose, Disposable } from 'vs/base/common/lifecycle'; +import { Event, Emitter } from 'vs/base/common/event'; + +export class GridPanelState { + public tableStates: GridTableState[] = []; + public scrollPosition: number; + + dispose() { + dispose(this.tableStates); + } +} + +export class GridTableState extends Disposable { + + private _maximized: boolean; + + private _onMaximizedChange = this._register(new Emitter()); + public onMaximizedChange: Event = this._onMaximizedChange.event; + + private _onCanBeMaximizedChange = this._register(new Emitter()); + public onCanBeMaximizedChange: Event = this._onCanBeMaximizedChange.event; + + private _canBeMaximized: boolean; + + /* The top row of the current scroll */ + public scrollPositionY = 0; + public scrollPositionX = 0; + public columnSizes: number[] = undefined; + public selection: Slick.Range[]; + public activeCell: Slick.Cell; + + constructor(public readonly resultId: number, public readonly batchId: number) { + super(); + } + + public get canBeMaximized(): boolean { + return this._canBeMaximized; + } + + public set canBeMaximized(val: boolean) { + if (val === this._canBeMaximized) { + return; + } + this._canBeMaximized = val; + this._onCanBeMaximizedChange.fire(val); + } + + public get maximized(): boolean { + return this._maximized; + } + + public set maximized(val: boolean) { + if (val === this._maximized) { + return; + } + this._maximized = val; + this._onMaximizedChange.fire(val); + } +} diff --git a/src/sql/base/node/rxjsUtils.ts b/src/sql/workbench/parts/query/common/messagePanelState.ts similarity index 59% rename from src/sql/base/node/rxjsUtils.ts rename to src/sql/workbench/parts/query/common/messagePanelState.ts index 67209ba518..8a0a8b9976 100644 --- a/src/sql/base/node/rxjsUtils.ts +++ b/src/sql/workbench/parts/query/common/messagePanelState.ts @@ -3,13 +3,10 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { Subscription } from 'rxjs/Subscription'; -import { IDisposable } from 'vs/base/common/lifecycle'; +export class MessagePanelState { + public scrollPosition: number; -export function toDisposableSubscription(sub: Subscription): IDisposable { - return { - dispose: () => { - sub.unsubscribe(); - } - }; + dispose() { + + } } diff --git a/src/sql/workbench/parts/query/common/modelViewTab/modelViewState.ts b/src/sql/workbench/parts/query/common/modelViewTab/modelViewState.ts new file mode 100644 index 0000000000..0c28f1ae7c --- /dev/null +++ b/src/sql/workbench/parts/query/common/modelViewTab/modelViewState.ts @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export class QueryModelViewState { + public componentId: string; + public dispose() { + } +} diff --git a/src/sql/workbench/parts/query/common/queryResultsInput.ts b/src/sql/workbench/parts/query/common/queryResultsInput.ts index 8dc51e2dca..cf7a418e51 100644 --- a/src/sql/workbench/parts/query/common/queryResultsInput.ts +++ b/src/sql/workbench/parts/query/common/queryResultsInput.ts @@ -7,12 +7,12 @@ import { localize } from 'vs/nls'; import { EditorInput } from 'vs/workbench/common/editor'; import { Emitter } from 'vs/base/common/event'; -import { GridPanelState } from 'sql/workbench/parts/query/electron-browser/gridPanel'; -import { MessagePanelState } from 'sql/workbench/parts/query/browser/messagePanel'; -import { QueryPlanState } from 'sql/workbench/parts/queryPlan/electron-browser/queryPlan'; -import { ChartState } from 'sql/workbench/parts/charts/browser/chartView'; -import { TopOperationsState } from 'sql/workbench/parts/queryPlan/browser/topOperations'; -import { QueryModelViewState, QueryModelViewTab } from 'sql/workbench/parts/query/modelViewTab/queryModelViewTab'; +import { TopOperationsState } from 'sql/workbench/parts/queryPlan/common/topOperationsState'; +import { ChartState } from 'sql/workbench/parts/charts/common/interfaces'; +import { QueryPlanState } from 'sql/workbench/parts/queryPlan/common/queryPlanState'; +import { MessagePanelState } from 'sql/workbench/parts/query/common/messagePanelState'; +import { GridPanelState } from 'sql/workbench/parts/query/common/gridPanelState'; +import { QueryModelViewState } from 'sql/workbench/parts/query/common/modelViewTab/modelViewState'; export class ResultsViewState { public gridPanelState: GridPanelState = new GridPanelState(); diff --git a/src/sql/workbench/parts/query/common/resultsGridContribution.ts b/src/sql/workbench/parts/query/common/resultsGridContribution.ts index ca58ce175d..c0b643fb81 100644 --- a/src/sql/workbench/parts/query/common/resultsGridContribution.ts +++ b/src/sql/workbench/parts/query/common/resultsGridContribution.ts @@ -9,7 +9,10 @@ import * as nls from 'vs/nls'; import * as editorOptions from 'vs/editor/common/config/editorOptions'; import EDITOR_FONT_DEFAULTS = editorOptions.EDITOR_FONT_DEFAULTS; -import { RESULTS_GRID_DEFAULTS } from 'sql/workbench/parts/query/browser/queryResultsEditor'; +export const RESULTS_GRID_DEFAULTS = { + cellPadding: [5, 8, 4], + rowHeight: 24 +}; const configurationRegistry = Registry.as(Extensions.Configuration); diff --git a/src/sqltest/parts/query/editor/queryActions.test.ts b/src/sql/workbench/parts/query/test/browser/queryActions.test.ts similarity index 99% rename from src/sqltest/parts/query/editor/queryActions.test.ts rename to src/sql/workbench/parts/query/test/browser/queryActions.test.ts index bd2c11fbaa..c7d24f5d5f 100644 --- a/src/sqltest/parts/query/editor/queryActions.test.ts +++ b/src/sql/workbench/parts/query/test/browser/queryActions.test.ts @@ -25,13 +25,12 @@ import { QueryModelService } from 'sql/platform/query/common/queryModelService'; import { ConnectionManagementService } from 'sql/platform/connection/common/connectionManagementService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { TestThemeService } from 'sqltest/stubs/themeTestService'; -import { ConfigurationService } from 'vs/platform/configuration/node/configurationService'; - import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; import { TestStorageService, TestFileService } from 'vs/workbench/test/workbenchTestServices'; import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; +import { TestThemeService } from 'vs/platform/theme/test/common/testThemeService'; +import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; let none: void; @@ -41,7 +40,7 @@ suite('SQL QueryAction Tests', () => { let editor: TypeMoq.Mock; let calledRunQueryOnInput: boolean = undefined; let testQueryInput: TypeMoq.Mock; - let configurationService: TypeMoq.Mock; + let configurationService: TypeMoq.Mock; setup(() => { // Setup a reusable mock QueryInput diff --git a/src/sqltest/parts/query/editor/queryEditor.test.ts b/src/sql/workbench/parts/query/test/browser/queryEditor.test.ts similarity index 98% rename from src/sqltest/parts/query/editor/queryEditor.test.ts rename to src/sql/workbench/parts/query/test/browser/queryEditor.test.ts index c583078c6d..bbe25e9f15 100644 --- a/src/sqltest/parts/query/editor/queryEditor.test.ts +++ b/src/sql/workbench/parts/query/test/browser/queryEditor.test.ts @@ -15,20 +15,20 @@ import { QueryInput } from 'sql/workbench/parts/query/common/queryInput'; import { INewConnectionParams, ConnectionType, RunQueryOnConnectionMode } from 'sql/platform/connection/common/connectionManagement'; import { ConnectionManagementService } from 'sql/platform/connection/common/connectionManagementService'; import { RunQueryAction, ListDatabasesActionItem } from 'sql/workbench/parts/query/browser/queryActions'; -import { EditorDescriptorService } from 'sql/workbench/services/queryEditor/common/editorDescriptorService'; +import { EditorDescriptorService } from 'sql/workbench/services/queryEditor/browser/editorDescriptorService'; import * as TypeMoq from 'typemoq'; import * as assert from 'assert'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; -import { ConfigurationService } from 'vs/platform/configuration/node/configurationService'; import { TestStorageService } from 'vs/workbench/test/workbenchTestServices'; +import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService'; suite('SQL QueryEditor Tests', () => { let instantiationService: TypeMoq.Mock; let editorDescriptorService: TypeMoq.Mock; let connectionManagementService: TypeMoq.Mock; - let configurationService: TypeMoq.Mock; + let configurationService: TypeMoq.Mock; let memento: TypeMoq.Mock; let mockEditor: any; diff --git a/src/sql/workbench/parts/queryPlan/electron-browser/media/qp.css b/src/sql/workbench/parts/queryPlan/browser/media/qp.css similarity index 100% rename from src/sql/workbench/parts/queryPlan/electron-browser/media/qp.css rename to src/sql/workbench/parts/queryPlan/browser/media/qp.css diff --git a/src/sql/workbench/parts/queryPlan/electron-browser/media/qp_icons.png b/src/sql/workbench/parts/queryPlan/browser/media/qp_icons.png similarity index 100% rename from src/sql/workbench/parts/queryPlan/electron-browser/media/qp_icons.png rename to src/sql/workbench/parts/queryPlan/browser/media/qp_icons.png diff --git a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.component.ts b/src/sql/workbench/parts/queryPlan/browser/queryPlan.component.ts similarity index 93% rename from src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.component.ts rename to src/sql/workbench/parts/queryPlan/browser/queryPlan.component.ts index ba79f112de..de911c5a42 100644 --- a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.component.ts +++ b/src/sql/workbench/parts/queryPlan/browser/queryPlan.component.ts @@ -8,8 +8,7 @@ import 'vs/css!./media/qp'; import { ElementRef, Component, Inject, forwardRef, OnDestroy, OnInit, ViewChild } from '@angular/core'; import * as QP from 'html-query-plan'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; -import { IQueryPlanParams } from 'sql/platform/bootstrap/node/bootstrapParams'; +import { IQueryPlanParams, IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { registerThemingParticipant, ICssStyleCollector, ITheme } from 'vs/platform/theme/common/themeService'; diff --git a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.module.ts b/src/sql/workbench/parts/queryPlan/browser/queryPlan.module.ts similarity index 89% rename from src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.module.ts rename to src/sql/workbench/parts/queryPlan/browser/queryPlan.module.ts index 7d90d8e097..62eef4a2ad 100644 --- a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.module.ts +++ b/src/sql/workbench/parts/queryPlan/browser/queryPlan.module.ts @@ -7,10 +7,11 @@ import { NgModule, Inject, forwardRef, ApplicationRef, ComponentFactoryResolver, import { APP_BASE_HREF, CommonModule } from '@angular/common'; import { BrowserModule } from '@angular/platform-browser'; -import { IBootstrapParams, ISelector, providerIterator } from 'sql/platform/bootstrap/node/bootstrapService'; -import { QueryPlanComponent } from 'sql/workbench/parts/queryPlan/electron-browser/queryPlan.component'; +import { providerIterator } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { QueryPlanComponent } from 'sql/workbench/parts/queryPlan/browser/queryPlan.component'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; +import { IBootstrapParams, ISelector } from 'sql/platform/bootstrap/common/bootstrapParams'; // Connection Dashboard main angular module export const QueryPlanModule = (params: IBootstrapParams, selector: string, instantiationService: IInstantiationService): Type => { diff --git a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.ts b/src/sql/workbench/parts/queryPlan/browser/queryPlan.ts similarity index 96% rename from src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.ts rename to src/sql/workbench/parts/queryPlan/browser/queryPlan.ts index 2f05840da1..855424f4b2 100644 --- a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.ts +++ b/src/sql/workbench/parts/queryPlan/browser/queryPlan.ts @@ -10,13 +10,7 @@ import { IPanelView, IPanelTab } from 'sql/base/browser/ui/panel/panel'; import { Dimension, clearNode } from 'vs/base/browser/dom'; import { localize } from 'vs/nls'; import { dispose } from 'vs/base/common/lifecycle'; - -export class QueryPlanState { - xml: string; - dispose() { - - } -} +import { QueryPlanState } from 'sql/workbench/parts/queryPlan/common/queryPlanState'; export class QueryPlanTab implements IPanelTab { public readonly title = localize('queryPlanTitle', 'Query Plan'); diff --git a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlanEditor.ts b/src/sql/workbench/parts/queryPlan/browser/queryPlanEditor.ts similarity index 93% rename from src/sql/workbench/parts/queryPlan/electron-browser/queryPlanEditor.ts rename to src/sql/workbench/parts/queryPlan/browser/queryPlanEditor.ts index fbfe5e07cf..fa6bbb564d 100644 --- a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlanEditor.ts +++ b/src/sql/workbench/parts/queryPlan/browser/queryPlanEditor.ts @@ -10,10 +10,10 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { QueryPlanInput } from 'sql/workbench/parts/queryPlan/common/queryPlanInput'; -import { QueryPlanModule } from 'sql/workbench/parts/queryPlan/electron-browser/queryPlan.module'; -import { bootstrapAngular } from 'sql/platform/bootstrap/node/bootstrapService'; -import { IQueryPlanParams } from 'sql/platform/bootstrap/node/bootstrapParams'; -import { QUERYPLAN_SELECTOR } from 'sql/workbench/parts/queryPlan/electron-browser/queryPlan.component'; +import { QueryPlanModule } from 'sql/workbench/parts/queryPlan/browser/queryPlan.module'; +import { bootstrapAngular } from 'sql/platform/bootstrap/browser/bootstrapService'; +import { IQueryPlanParams } from 'sql/platform/bootstrap/common/bootstrapParams'; +import { QUERYPLAN_SELECTOR } from 'sql/workbench/parts/queryPlan/browser/queryPlan.component'; import { CancellationToken } from 'vs/base/common/cancellation'; import { IStorageService } from 'vs/platform/storage/common/storage'; diff --git a/src/sql/workbench/parts/queryPlan/browser/topOperations.ts b/src/sql/workbench/parts/queryPlan/browser/topOperations.ts index be3cd1a582..09e13f2270 100644 --- a/src/sql/workbench/parts/queryPlan/browser/topOperations.ts +++ b/src/sql/workbench/parts/queryPlan/browser/topOperations.ts @@ -14,6 +14,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService'; import { attachTableStyler } from 'sql/platform/theme/common/styler'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; +import { TopOperationsState } from 'sql/workbench/parts/queryPlan/common/topOperationsState'; const topOperationColumns: Array> = [ { name: localize('topOperations.operation', 'Operation'), field: 'operation', sortable: true }, @@ -33,13 +34,6 @@ const topOperationColumns: Array> = [ { name: localize('topOperations.partitioned', 'Partitioned'), field: 'partitioned', sortable: true } ]; -export class TopOperationsState { - xml: string; - dispose() { - - } -} - export class TopOperationsTab implements IPanelTab { public readonly title = localize('topOperationsTitle', 'Top Operations'); public readonly identifier = 'TopOperationsTab'; diff --git a/src/sql/workbench/parts/queryPlan/common/queryPlanState.ts b/src/sql/workbench/parts/queryPlan/common/queryPlanState.ts new file mode 100644 index 0000000000..ff5bcb7883 --- /dev/null +++ b/src/sql/workbench/parts/queryPlan/common/queryPlanState.ts @@ -0,0 +1,11 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export class QueryPlanState { + xml: string; + dispose() { + + } +} diff --git a/src/sql/workbench/parts/queryPlan/common/topOperationsState.ts b/src/sql/workbench/parts/queryPlan/common/topOperationsState.ts new file mode 100644 index 0000000000..434169b7dd --- /dev/null +++ b/src/sql/workbench/parts/queryPlan/common/topOperationsState.ts @@ -0,0 +1,11 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export class TopOperationsState { + xml: string; + dispose() { + + } +} diff --git a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.contribution.ts b/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.contribution.ts index 123884731f..e498ed8d90 100644 --- a/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.contribution.ts +++ b/src/sql/workbench/parts/queryPlan/electron-browser/queryPlan.contribution.ts @@ -3,11 +3,11 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { QueryPlanEditor } from 'sql/workbench/parts/queryPlan/electron-browser/queryPlanEditor'; import { QueryPlanInput } from 'sql/workbench/parts/queryPlan/common/queryPlanInput'; import { EditorDescriptor, IEditorRegistry, Extensions } from 'vs/workbench/browser/editor'; import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { Registry } from 'vs/platform/registry/common/platform'; +import { QueryPlanEditor } from 'sql/workbench/parts/queryPlan/browser/queryPlanEditor'; // Query Plan editor registration diff --git a/src/sql/workbench/parts/restore/browser/restoreDialog.ts b/src/sql/workbench/parts/restore/browser/restoreDialog.ts index a7786dd3c3..1908dcd578 100644 --- a/src/sql/workbench/parts/restore/browser/restoreDialog.ts +++ b/src/sql/workbench/parts/restore/browser/restoreDialog.ts @@ -32,7 +32,7 @@ import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; import * as DialogHelper from 'sql/workbench/browser/modal/dialogHelper'; import { Modal } from 'sql/workbench/browser/modal/modal'; import { attachButtonStyler, attachModalDialogStyler, attachTableStyler, attachInputBoxStyler, attachSelectBoxStyler, attachEditableDropdownStyler, attachCheckboxStyler, attachTabbedPanelStyler } from 'sql/platform/theme/common/styler'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import * as BackupConstants from 'sql/workbench/parts/backup/common/constants'; import { RestoreViewModel, RestoreOptionParam, SouceDatabaseNamesParam } from 'sql/workbench/parts/restore/browser/restoreViewModel'; import * as FileValidationConstants from 'sql/workbench/services/fileBrowser/common/fileValidationServiceConstants'; diff --git a/src/sqltest/parts/disasterRecovery/restoreViewModel.test.ts b/src/sql/workbench/parts/restore/test/browser/restoreViewModel.test.ts similarity index 100% rename from src/sqltest/parts/disasterRecovery/restoreViewModel.test.ts rename to src/sql/workbench/parts/restore/test/browser/restoreViewModel.test.ts diff --git a/src/sql/platform/telemetry/telemetry.contribution.ts b/src/sql/workbench/parts/telemetry/common/telemetry.contribution.ts similarity index 98% rename from src/sql/platform/telemetry/telemetry.contribution.ts rename to src/sql/workbench/parts/telemetry/common/telemetry.contribution.ts index 27d3d85333..eab883ee8c 100644 --- a/src/sql/platform/telemetry/telemetry.contribution.ts +++ b/src/sql/workbench/parts/telemetry/common/telemetry.contribution.ts @@ -3,7 +3,6 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { TelemetryView } from 'sql/platform/telemetry/telemetryKeys'; import { IAdsTelemetryService } from 'sql/platform/telemetry/telemetry'; import { Registry } from 'vs/platform/registry/common/platform'; import { Extensions as WorkbenchExtensions, IWorkbenchContributionsRegistry, IWorkbenchContribution } from 'vs/workbench/common/contributions'; @@ -11,6 +10,7 @@ import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; import { Disposable } from 'vs/base/common/lifecycle'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { ICommandService, ICommandEvent } from 'vs/platform/commands/common/commands'; +import { TelemetryView } from 'sql/platform/telemetry/common/telemetryKeys'; export class SqlTelemetryContribution extends Disposable implements IWorkbenchContribution { diff --git a/src/sql/workbench/parts/webview/electron-browser/webViewDialog.ts b/src/sql/workbench/parts/webview/electron-browser/webViewDialog.ts index d99d8dfa89..0a8405f1d5 100644 --- a/src/sql/workbench/parts/webview/electron-browser/webViewDialog.ts +++ b/src/sql/workbench/parts/webview/electron-browser/webViewDialog.ts @@ -6,7 +6,7 @@ import 'vs/css!sql/media/icons/common-icons'; import { Button } from 'sql/base/browser/ui/button/button'; import { Modal } from 'sql/workbench/browser/modal/modal'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { attachButtonStyler, attachModalDialogStyler } from 'sql/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { Event, Emitter } from 'vs/base/common/event'; diff --git a/src/sqltest/services/accountManagement/accountManagementService.test.ts b/src/sql/workbench/services/accountManagement/test/browser/accountManagementService.test.ts similarity index 99% rename from src/sqltest/services/accountManagement/accountManagementService.test.ts rename to src/sql/workbench/services/accountManagement/test/browser/accountManagementService.test.ts index 01415ab4df..1e469f6aa3 100644 --- a/src/sqltest/services/accountManagement/accountManagementService.test.ts +++ b/src/sql/workbench/services/accountManagement/test/browser/accountManagementService.test.ts @@ -11,7 +11,7 @@ import { AccountDialogController } from 'sql/platform/accounts/browser/accountDi import { AccountManagementService } from 'sql/workbench/services/accountManagement/browser/accountManagementService'; import { AccountAdditionResult, AccountProviderAddedEventParams, UpdateAccountListEventParams } from 'sql/platform/accounts/common/eventTypes'; import { IAccountStore } from 'sql/platform/accounts/common/interfaces'; -import { AccountProviderStub } from 'sqltest/stubs/accountManagementStubs'; +import { AccountProviderStub } from 'sql/platform/accounts/test/common/testAccountManagementService'; import { EventVerifierSingle } from 'sqltest/utils/eventVerifier'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; import { TestStorageService } from 'vs/workbench/test/workbenchTestServices'; diff --git a/src/sql/workbench/services/backup/browser/backupUiService.ts b/src/sql/workbench/services/backup/browser/backupUiService.ts index d595f40d68..4bab854cc0 100644 --- a/src/sql/workbench/services/backup/browser/backupUiService.ts +++ b/src/sql/workbench/services/backup/browser/backupUiService.ts @@ -13,7 +13,7 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import * as ConnectionUtils from 'sql/platform/connection/common/utils'; import { ProviderConnectionInfo } from 'sql/platform/connection/common/providerConnectionInfo'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; -import { BackupDialog } from 'sql/workbench/parts/backup/electron-browser/backupDialog'; +import { BackupDialog } from 'sql/workbench/parts/backup/browser/backupDialog'; import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog'; import { IBackupService, TaskExecutionMode } from 'sql/platform/backup/common/backupService'; import { IBackupUiService } from 'sql/workbench/services/backup/common/backupUiService'; diff --git a/src/sqltest/parts/commandLine/commandLineService.test.ts b/src/sql/workbench/services/commandLine/test/common/commandLineService.test.ts similarity index 97% rename from src/sqltest/parts/commandLine/commandLineService.test.ts rename to src/sql/workbench/services/commandLine/test/common/commandLineService.test.ts index 321dd5f783..9e0e92871d 100644 --- a/src/sqltest/parts/commandLine/commandLineService.test.ts +++ b/src/sql/workbench/services/commandLine/test/common/commandLineService.test.ts @@ -12,13 +12,12 @@ import { CommandLineService } from 'sql/workbench/services/commandLine/common/co import * as Constants from 'sql/platform/connection/common/constants'; import { ParsedArgs } from 'vs/platform/environment/common/environment'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IConnectionManagementService, IConnectionCompletionOptions, ConnectionType } from 'sql/platform/connection/common/connectionManagement'; -import { TestConnectionManagementService } from 'sqltest/stubs/connectionManagementService.test'; +import { TestConnectionManagementService } from 'sql/platform/connection/test/common/testConnectionManagementService'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { TestCommandService } from 'vs/editor/test/browser/editorTestServices'; -import { WorkspaceConfigurationTestService } from 'sqltest/stubs/workspaceConfigurationTestService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { assertThrowsAsync } from 'sqltest/utils/testUtils'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; @@ -26,6 +25,7 @@ import { TestEditorService } from 'vs/workbench/test/workbenchTestServices'; import { QueryInput, QueryEditorState } from 'sql/workbench/parts/query/common/queryInput'; import { URI } from 'vs/base/common/uri'; import { ILogService, NullLogService } from 'vs/platform/log/common/log'; +import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService'; class TestParsedArgs implements ParsedArgs { [arg: string]: any; @@ -92,10 +92,10 @@ class TestParsedArgs implements ParsedArgs { } suite('commandLineService tests', () => { - let capabilitiesService: CapabilitiesTestService; + let capabilitiesService: TestCapabilitiesService; setup(() => { - capabilitiesService = new CapabilitiesTestService(); + capabilitiesService = new TestCapabilitiesService(); }); function getCommandLineService(connectionManagementService: IConnectionManagementService, @@ -121,7 +121,7 @@ suite('commandLineService tests', () => { } function getConfigurationServiceMock(showConnectDialogOnStartup: boolean): TypeMoq.Mock { - let configurationService = TypeMoq.Mock.ofType(WorkspaceConfigurationTestService); + let configurationService = TypeMoq.Mock.ofType(TestConfigurationService); configurationService.setup((c) => c.getValue(TypeMoq.It.isAnyString())).returns((config: string) => showConnectDialogOnStartup); return configurationService; } diff --git a/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts b/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts index 037af8c756..f25a852d7f 100644 --- a/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts +++ b/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts @@ -16,7 +16,7 @@ import { ConnectionProfile } from 'sql/platform/connection/common/connectionProf import { TabbedPanel, PanelTabIdentifier } from 'sql/base/browser/ui/panel/panel'; import { RecentConnectionTreeController, RecentConnectionActionsProvider } from 'sql/workbench/parts/connection/browser/recentConnectionTreeController'; import { SavedConnectionTreeController } from 'sql/workbench/parts/connection/browser/savedConnectionTreeController'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { ClearRecentConnectionsAction } from 'sql/workbench/parts/connection/common/connectionActions'; import * as Constants from 'sql/platform/connection/common/constants'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; diff --git a/src/sqltest/parts/connection/connectionDialogService.test.ts b/src/sql/workbench/services/connection/test/browser/connectionDialogService.test.ts similarity index 90% rename from src/sqltest/parts/connection/connectionDialogService.test.ts rename to src/sql/workbench/services/connection/test/browser/connectionDialogService.test.ts index ad090ed7c0..ebc8b64faf 100644 --- a/src/sqltest/parts/connection/connectionDialogService.test.ts +++ b/src/sql/workbench/services/connection/test/browser/connectionDialogService.test.ts @@ -7,11 +7,11 @@ import { ConnectionDialogService } from 'sql/workbench/services/connection/brows import { ConnectionDialogWidget } from 'sql/workbench/services/connection/browser/connectionDialogWidget'; import { ConnectionManagementService } from 'sql/platform/connection/common/connectionManagementService'; import { ConnectionType, IConnectableInput, IConnectionResult, INewConnectionParams } from 'sql/platform/connection/common/connectionManagement'; -import { ContextKeyServiceStub } from 'sqltest/stubs/contextKeyServiceStub'; -import { ErrorMessageServiceStub } from 'sqltest/stubs/errorMessageServiceStub'; +import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService'; import * as TypeMoq from 'typemoq'; import { TestStorageService } from 'vs/workbench/test/workbenchTestServices'; +import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; suite('ConnectionDialogService tests', () => { @@ -34,14 +34,14 @@ suite('ConnectionDialogService tests', () => { undefined, undefined, undefined, - new ContextKeyServiceStub() + new MockContextKeyService() ); mockConnectionDialog.setup(c => c.resetConnection()); (connectionDialogService as any)._connectionDialog = mockConnectionDialog.object; }); - function getMockErrorMessageService(): TypeMoq.Mock { - let mockMessageService = TypeMoq.Mock.ofType(ErrorMessageServiceStub); + function getMockErrorMessageService(): TypeMoq.Mock { + let mockMessageService = TypeMoq.Mock.ofType(TestErrorMessageService); mockMessageService.setup(x => x.showDialog(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())); return mockMessageService; } diff --git a/src/sqltest/stubs/connectionDialogTestService.ts b/src/sql/workbench/services/connection/test/common/testConnectionDialogService.ts similarity index 96% rename from src/sqltest/stubs/connectionDialogTestService.ts rename to src/sql/workbench/services/connection/test/common/testConnectionDialogService.ts index db30ee67c3..cffc48a7b1 100644 --- a/src/sqltest/stubs/connectionDialogTestService.ts +++ b/src/sql/workbench/services/connection/test/common/testConnectionDialogService.ts @@ -7,7 +7,7 @@ import { INewConnectionParams, IConnectionResult, IConnectionManagementService, import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IConnectionDialogService } from 'sql/workbench/services/connection/common/connectionDialogService'; -export class ConnectionDialogTestService implements IConnectionDialogService { +export class TestConnectionDialogService implements IConnectionDialogService { _serviceBrand: any; public showDialog(connectionManagementService: IConnectionManagementService, diff --git a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialog.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialog.ts index d925f0c133..797eb47f86 100644 --- a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialog.ts +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialog.ts @@ -3,240 +3,11 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!sql/media/icons/common-icons'; -import 'vs/css!./media/newDashboardTabDialog'; +import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; +import { IDashboardTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; -import * as DOM from 'vs/base/browser/dom'; -import { List } from 'vs/base/browser/ui/list/listWidget'; -import { Event, Emitter } from 'vs/base/common/event'; -import { localize } from 'vs/nls'; -import { IThemeService } from 'vs/platform/theme/common/themeService'; -import { attachListStyler } from 'vs/platform/theme/common/styler'; -import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; -import { IListVirtualDelegate, IListRenderer } from 'vs/base/browser/ui/list/list'; -import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; -import { KeyCode } from 'vs/base/common/keyCodes'; - -import { Button } from 'sql/base/browser/ui/button/button'; -import { Modal } from 'sql/workbench/browser/modal/modal'; -import { attachModalDialogStyler, attachButtonStyler } from 'sql/platform/theme/common/styler'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import { NewDashboardTabViewModel, IDashboardUITab } from 'sql/workbench/services/dashboard/common/newDashboardTabViewModel'; -import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry'; -import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; -import { ILogService } from 'vs/platform/log/common/log'; -import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; - -class ExtensionListDelegate implements IListVirtualDelegate { - - private static readonly HEIGHT = 101; - - public getHeight(element: IDashboardUITab): number { - return ExtensionListDelegate.HEIGHT; - } - - public getTemplateId(element: IDashboardUITab): string { - return 'extensionListRenderer'; - } -} - -interface ExtensionListTemplate { - root: HTMLElement; - icon: HTMLElement; - title: HTMLElement; - description: HTMLElement; - publisher: HTMLElement; -} - -class ExtensionListRenderer implements IListRenderer { - public static TEMPLATE_ID = 'extensionListRenderer'; - private static readonly OPENED_TAB_CLASS = 'success'; - private static readonly ICON_CLASS = 'extension-status-icon icon'; - - public get templateId(): string { - return ExtensionListRenderer.TEMPLATE_ID; - } - - public renderTemplate(container: HTMLElement): ExtensionListTemplate { - const tableTemplate: ExtensionListTemplate = Object.create(null); - tableTemplate.root = DOM.append(container, DOM.$('div.list-row.extensionTab-list')); - tableTemplate.icon = DOM.append(tableTemplate.root, DOM.$('div.icon')); - let titleContainer = DOM.append(tableTemplate.root, DOM.$('div.extension-details')); - tableTemplate.title = DOM.append(titleContainer, DOM.$('div.title')); - tableTemplate.description = DOM.append(titleContainer, DOM.$('div.description')); - tableTemplate.publisher = DOM.append(titleContainer, DOM.$('div.publisher')); - return tableTemplate; - } - - public renderElement(dashboardTab: IDashboardUITab, index: number, templateData: ExtensionListTemplate): void { - templateData.icon.className = ExtensionListRenderer.ICON_CLASS; - if (dashboardTab.isOpened) { - templateData.icon.classList.add(ExtensionListRenderer.OPENED_TAB_CLASS); - } - templateData.title.innerText = dashboardTab.tabConfig.title; - templateData.description.innerText = dashboardTab.tabConfig.description; - templateData.publisher.innerText = dashboardTab.tabConfig.publisher; - } - - public disposeTemplate(template: ExtensionListTemplate): void { - // noop - } - - public disposeElement(element: IDashboardUITab, index: number, templateData: ExtensionListTemplate): void { - // noop - } -} - -export class NewDashboardTabDialog extends Modal { - - // MEMBER letIABLES //////////////////////////////////////////////////// - private _addNewTabButton: Button; - private _cancelButton: Button; - private _extensionList: List; - private _extensionViewContainer: HTMLElement; - private _noExtensionViewContainer: HTMLElement; - - private _viewModel: NewDashboardTabViewModel; - - // EVENTING //////////////////////////////////////////////////////////// - private _onAddTabs: Emitter>; - public get onAddTabs(): Event> { return this._onAddTabs.event; } - - private _onCancel: Emitter; - public get onCancel(): Event { return this._onCancel.event; } - - constructor( - @IWorkbenchLayoutService layoutService: IWorkbenchLayoutService, - @IThemeService themeService: IThemeService, - @ITelemetryService telemetryService: ITelemetryService, - @IContextKeyService contextKeyService: IContextKeyService, - @IClipboardService clipboardService: IClipboardService, - @ILogService logService: ILogService - ) { - super( - localize('newDashboardTab.openDashboardExtensions', 'Open dashboard extensions'), - TelemetryKeys.AddNewDashboardTab, - telemetryService, - layoutService, - clipboardService, - themeService, - logService, - contextKeyService, - { hasSpinner: true } - ); - - // Setup the event emitters - this._onAddTabs = new Emitter(); - this._onCancel = new Emitter(); - - this._viewModel = new NewDashboardTabViewModel(); - this._register(this._viewModel.updateTabListEvent(tabs => this.onUpdateTabList(tabs))); - } - - // MODAL OVERRIDE METHODS ////////////////////////////////////////////// - protected layout(height?: number): void { - this._extensionList.layout(height); - } - - public render() { - super.render(); - attachModalDialogStyler(this, this._themeService); - - this._addNewTabButton = this.addFooterButton(localize('newDashboardTab.ok', 'OK'), () => this.addNewTabs()); - this._cancelButton = this.addFooterButton(localize('newDashboardTab.cancel', 'Cancel'), () => this.cancel()); - this.registerListeners(); - } - - protected renderBody(container: HTMLElement) { - this._extensionViewContainer = DOM.$('div.extension-view'); - DOM.append(container, this._extensionViewContainer); - - this.createExtensionList(this._extensionViewContainer); - this._noExtensionViewContainer = DOM.$('.no-extension-view'); - let noExtensionTitle = DOM.append(this._noExtensionViewContainer, DOM.$('.no-extensionTab-label')); - let noExtensionLabel = localize('newdashboardTabDialog.noExtensionLabel', 'No dashboard extensions are installed at this time. Go to Extension Manager to explore recommended extensions.'); - noExtensionTitle.textContent = noExtensionLabel; - - DOM.append(container, this._noExtensionViewContainer); - } - - private createExtensionList(container: HTMLElement) { - // Create a fixed list view for the extensions - let extensionTabViewContainer = DOM.$('.extensionTab-view'); - let delegate = new ExtensionListDelegate(); - let extensionTabRenderer = new ExtensionListRenderer(); - this._extensionList = new List(extensionTabViewContainer, delegate, [extensionTabRenderer]); - - this._extensionList.onMouseDblClick(e => this.onAccept()); - this._extensionList.onKeyDown(e => { - let event = new StandardKeyboardEvent(e); - if (event.equals(KeyCode.Enter)) { - this.onAccept(); - } else if (event.equals(KeyCode.Escape)) { - this.onClose(); - } - }); - - DOM.append(container, extensionTabViewContainer); - - this._register(attachListStyler(this._extensionList, this._themeService)); - } - - private registerListeners(): void { - // Theme styler - this._register(attachButtonStyler(this._cancelButton, this._themeService)); - this._register(attachButtonStyler(this._addNewTabButton, this._themeService)); - } - - /* Overwrite escape key behavior */ - protected onClose() { - this.cancel(); - } - - /* Overwrite enter key behavior */ - protected onAccept() { - this.addNewTabs(); - } - - public close() { - this.hide(); - } - - private addNewTabs() { - if (this._addNewTabButton.enabled) { - let selectedTabs = this._extensionList.getSelectedElements(); - this._onAddTabs.fire(selectedTabs); - } - } - - public cancel() { - this.hide(); - } - - public open(dashboardTabs: Array, openedTabs: Array) { - this.show(); - this._viewModel.updateDashboardTabs(dashboardTabs, openedTabs); - } - - private onUpdateTabList(tabs: IDashboardUITab[]) { - this._extensionList.splice(0, this._extensionList.length, tabs); - this.layout(); - if (this._extensionList.length > 0) { - this._extensionViewContainer.hidden = false; - this._noExtensionViewContainer.hidden = true; - this._extensionList.setSelection([0]); - this._extensionList.domFocus(); - this._addNewTabButton.enabled = true; - } else { - this._extensionViewContainer.hidden = true; - this._noExtensionViewContainer.hidden = false; - this._addNewTabButton.enabled = false; - this._cancelButton.focus(); - } - } - - public dispose(): void { - super.dispose(); - } +export const INewDashboardTabDialogService = createDecorator('addNewDashboardTabService'); +export interface INewDashboardTabDialogService { + _serviceBrand: any; + showDialog(dashboardTabs: Array, openedTabs: Array, uri: string): void; } diff --git a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts new file mode 100644 index 0000000000..32a326205c --- /dev/null +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts @@ -0,0 +1,242 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import 'vs/css!sql/media/icons/common-icons'; +import 'vs/css!./media/newDashboardTabDialog'; + +import * as DOM from 'vs/base/browser/dom'; +import { List } from 'vs/base/browser/ui/list/listWidget'; +import { Event, Emitter } from 'vs/base/common/event'; +import { localize } from 'vs/nls'; +import { IThemeService } from 'vs/platform/theme/common/themeService'; +import { attachListStyler } from 'vs/platform/theme/common/styler'; +import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; +import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; +import { IListVirtualDelegate, IListRenderer } from 'vs/base/browser/ui/list/list'; +import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; +import { KeyCode } from 'vs/base/common/keyCodes'; + +import { Button } from 'sql/base/browser/ui/button/button'; +import { Modal } from 'sql/workbench/browser/modal/modal'; +import { attachModalDialogStyler, attachButtonStyler } from 'sql/platform/theme/common/styler'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import { NewDashboardTabViewModel, IDashboardUITab } from 'sql/workbench/services/dashboard/browser/newDashboardTabViewModel'; +import { IDashboardTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; +import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; +import { ILogService } from 'vs/platform/log/common/log'; +import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; + +class ExtensionListDelegate implements IListVirtualDelegate { + + private static readonly HEIGHT = 101; + + public getHeight(element: IDashboardUITab): number { + return ExtensionListDelegate.HEIGHT; + } + + public getTemplateId(element: IDashboardUITab): string { + return 'extensionListRenderer'; + } +} + +interface ExtensionListTemplate { + root: HTMLElement; + icon: HTMLElement; + title: HTMLElement; + description: HTMLElement; + publisher: HTMLElement; +} + +class ExtensionListRenderer implements IListRenderer { + public static TEMPLATE_ID = 'extensionListRenderer'; + private static readonly OPENED_TAB_CLASS = 'success'; + private static readonly ICON_CLASS = 'extension-status-icon icon'; + + public get templateId(): string { + return ExtensionListRenderer.TEMPLATE_ID; + } + + public renderTemplate(container: HTMLElement): ExtensionListTemplate { + const tableTemplate: ExtensionListTemplate = Object.create(null); + tableTemplate.root = DOM.append(container, DOM.$('div.list-row.extensionTab-list')); + tableTemplate.icon = DOM.append(tableTemplate.root, DOM.$('div.icon')); + let titleContainer = DOM.append(tableTemplate.root, DOM.$('div.extension-details')); + tableTemplate.title = DOM.append(titleContainer, DOM.$('div.title')); + tableTemplate.description = DOM.append(titleContainer, DOM.$('div.description')); + tableTemplate.publisher = DOM.append(titleContainer, DOM.$('div.publisher')); + return tableTemplate; + } + + public renderElement(dashboardTab: IDashboardUITab, index: number, templateData: ExtensionListTemplate): void { + templateData.icon.className = ExtensionListRenderer.ICON_CLASS; + if (dashboardTab.isOpened) { + templateData.icon.classList.add(ExtensionListRenderer.OPENED_TAB_CLASS); + } + templateData.title.innerText = dashboardTab.tabConfig.title; + templateData.description.innerText = dashboardTab.tabConfig.description; + templateData.publisher.innerText = dashboardTab.tabConfig.publisher; + } + + public disposeTemplate(template: ExtensionListTemplate): void { + // noop + } + + public disposeElement(element: IDashboardUITab, index: number, templateData: ExtensionListTemplate): void { + // noop + } +} + +export class NewDashboardTabDialog extends Modal { + + // MEMBER letIABLES //////////////////////////////////////////////////// + private _addNewTabButton: Button; + private _cancelButton: Button; + private _extensionList: List; + private _extensionViewContainer: HTMLElement; + private _noExtensionViewContainer: HTMLElement; + + private _viewModel: NewDashboardTabViewModel; + + // EVENTING //////////////////////////////////////////////////////////// + private _onAddTabs: Emitter>; + public get onAddTabs(): Event> { return this._onAddTabs.event; } + + private _onCancel: Emitter; + public get onCancel(): Event { return this._onCancel.event; } + + constructor( + @IWorkbenchLayoutService layoutService: IWorkbenchLayoutService, + @IThemeService themeService: IThemeService, + @ITelemetryService telemetryService: ITelemetryService, + @IContextKeyService contextKeyService: IContextKeyService, + @IClipboardService clipboardService: IClipboardService, + @ILogService logService: ILogService + ) { + super( + localize('newDashboardTab.openDashboardExtensions', 'Open dashboard extensions'), + TelemetryKeys.AddNewDashboardTab, + telemetryService, + layoutService, + clipboardService, + themeService, + logService, + contextKeyService, + { hasSpinner: true } + ); + + // Setup the event emitters + this._onAddTabs = new Emitter(); + this._onCancel = new Emitter(); + + this._viewModel = new NewDashboardTabViewModel(); + this._register(this._viewModel.updateTabListEvent(tabs => this.onUpdateTabList(tabs))); + } + + // MODAL OVERRIDE METHODS ////////////////////////////////////////////// + protected layout(height?: number): void { + this._extensionList.layout(height); + } + + public render() { + super.render(); + attachModalDialogStyler(this, this._themeService); + + this._addNewTabButton = this.addFooterButton(localize('newDashboardTab.ok', 'OK'), () => this.addNewTabs()); + this._cancelButton = this.addFooterButton(localize('newDashboardTab.cancel', 'Cancel'), () => this.cancel()); + this.registerListeners(); + } + + protected renderBody(container: HTMLElement) { + this._extensionViewContainer = DOM.$('div.extension-view'); + DOM.append(container, this._extensionViewContainer); + + this.createExtensionList(this._extensionViewContainer); + this._noExtensionViewContainer = DOM.$('.no-extension-view'); + let noExtensionTitle = DOM.append(this._noExtensionViewContainer, DOM.$('.no-extensionTab-label')); + let noExtensionLabel = localize('newdashboardTabDialog.noExtensionLabel', 'No dashboard extensions are installed at this time. Go to Extension Manager to explore recommended extensions.'); + noExtensionTitle.textContent = noExtensionLabel; + + DOM.append(container, this._noExtensionViewContainer); + } + + private createExtensionList(container: HTMLElement) { + // Create a fixed list view for the extensions + let extensionTabViewContainer = DOM.$('.extensionTab-view'); + let delegate = new ExtensionListDelegate(); + let extensionTabRenderer = new ExtensionListRenderer(); + this._extensionList = new List(extensionTabViewContainer, delegate, [extensionTabRenderer]); + + this._extensionList.onMouseDblClick(e => this.onAccept()); + this._extensionList.onKeyDown(e => { + let event = new StandardKeyboardEvent(e); + if (event.equals(KeyCode.Enter)) { + this.onAccept(); + } else if (event.equals(KeyCode.Escape)) { + this.onClose(); + } + }); + + DOM.append(container, extensionTabViewContainer); + + this._register(attachListStyler(this._extensionList, this._themeService)); + } + + private registerListeners(): void { + // Theme styler + this._register(attachButtonStyler(this._cancelButton, this._themeService)); + this._register(attachButtonStyler(this._addNewTabButton, this._themeService)); + } + + /* Overwrite escape key behavior */ + protected onClose() { + this.cancel(); + } + + /* Overwrite enter key behavior */ + protected onAccept() { + this.addNewTabs(); + } + + public close() { + this.hide(); + } + + private addNewTabs() { + if (this._addNewTabButton.enabled) { + let selectedTabs = this._extensionList.getSelectedElements(); + this._onAddTabs.fire(selectedTabs); + } + } + + public cancel() { + this.hide(); + } + + public open(dashboardTabs: Array, openedTabs: Array) { + this.show(); + this._viewModel.updateDashboardTabs(dashboardTabs, openedTabs); + } + + private onUpdateTabList(tabs: IDashboardUITab[]) { + this._extensionList.splice(0, this._extensionList.length, tabs); + this.layout(); + if (this._extensionList.length > 0) { + this._extensionViewContainer.hidden = false; + this._noExtensionViewContainer.hidden = true; + this._extensionList.setSelection([0]); + this._extensionList.domFocus(); + this._addNewTabButton.enabled = true; + } else { + this._extensionViewContainer.hidden = true; + this._noExtensionViewContainer.hidden = false; + this._addNewTabButton.enabled = false; + this._cancelButton.focus(); + } + } + + public dispose(): void { + super.dispose(); + } +} diff --git a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogService.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogService.ts index bbc771737c..fdcba5125d 100644 --- a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogService.ts +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogService.ts @@ -3,11 +3,11 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/common/newDashboardTabDialog'; -import { NewDashboardTabDialog } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog'; -import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry'; +import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog'; +import { NewDashboardTabDialog } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl'; +import { IDashboardTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; import { IAngularEventingService, AngularEventType } from 'sql/platform/angularEventing/common/angularEventingService'; -import { IDashboardUITab } from 'sql/workbench/services/dashboard/common/newDashboardTabViewModel'; +import { IDashboardUITab } from 'sql/workbench/services/dashboard/browser/newDashboardTabViewModel'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/sql/workbench/services/dashboard/common/newDashboardTabViewModel.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabViewModel.ts similarity index 94% rename from src/sql/workbench/services/dashboard/common/newDashboardTabViewModel.ts rename to src/sql/workbench/services/dashboard/browser/newDashboardTabViewModel.ts index 5cf14611f9..89ea86fb5f 100644 --- a/src/sql/workbench/services/dashboard/common/newDashboardTabViewModel.ts +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabViewModel.ts @@ -5,7 +5,7 @@ import { Event, Emitter } from 'vs/base/common/event'; -import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry'; +import { IDashboardTab } from 'sql/platform/dashboard/browser/dashboardRegistry'; export interface IDashboardUITab { @@ -41,4 +41,4 @@ export class NewDashboardTabViewModel { }); this._updateTabListEmitter.fire(tabList); } -} \ No newline at end of file +} diff --git a/src/sql/workbench/services/dashboard/common/newDashboardTabDialog.ts b/src/sql/workbench/services/dashboard/common/newDashboardTabDialog.ts deleted file mode 100644 index f8adb218ab..0000000000 --- a/src/sql/workbench/services/dashboard/common/newDashboardTabDialog.ts +++ /dev/null @@ -1,13 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; -import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry'; - -export const INewDashboardTabDialogService = createDecorator('addNewDashboardTabService'); -export interface INewDashboardTabDialogService { - _serviceBrand: any; - showDialog(dashboardTabs: Array, openedTabs: Array, uri: string): void; -} \ No newline at end of file diff --git a/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts b/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts index 073d1566f1..ea7ae8ed4f 100644 --- a/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts +++ b/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts @@ -7,7 +7,7 @@ import 'vs/css!sql/media/icons/common-icons'; import 'vs/css!./media/errorMessageDialog'; import { Button } from 'sql/base/browser/ui/button/button'; import { Modal } from 'sql/workbench/browser/modal/modal'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { attachButtonStyler, attachModalDialogStyler } from 'sql/platform/theme/common/styler'; import Severity from 'vs/base/common/severity'; diff --git a/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts b/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts index f361fd4d32..c3ed1de480 100644 --- a/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts +++ b/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts @@ -11,7 +11,7 @@ import { SelectBox } from 'sql/base/browser/ui/selectBox/selectBox'; import * as DialogHelper from 'sql/workbench/browser/modal/dialogHelper'; import { Modal } from 'sql/workbench/browser/modal/modal'; import { attachModalDialogStyler, attachButtonStyler } from 'sql/platform/theme/common/styler'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { FileNode } from 'sql/workbench/services/fileBrowser/common/fileNode'; import { FileBrowserTreeView } from 'sql/workbench/services/fileBrowser/browser/fileBrowserTreeView'; import { FileBrowserViewModel } from 'sql/workbench/services/fileBrowser/common/fileBrowserViewModel'; diff --git a/src/sql/workbench/services/insights/common/insightDialogActions.ts b/src/sql/workbench/services/insights/browser/insightDialogActions.ts similarity index 96% rename from src/sql/workbench/services/insights/common/insightDialogActions.ts rename to src/sql/workbench/services/insights/browser/insightDialogActions.ts index cc1179fbfc..3c5a9b484a 100644 --- a/src/sql/workbench/services/insights/common/insightDialogActions.ts +++ b/src/sql/workbench/services/insights/browser/insightDialogActions.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInsightDialogActionContext } from 'sql/workbench/services/insights/common/insightsDialogService'; +import { IInsightDialogActionContext } from 'sql/workbench/services/insights/browser/insightsDialogService'; import { Action } from 'vs/base/common/actions'; import * as nls from 'vs/nls'; diff --git a/src/sql/workbench/services/insights/common/insightsDialogModel.ts b/src/sql/workbench/services/insights/browser/insightsDialogModel.ts similarity index 93% rename from src/sql/workbench/services/insights/common/insightsDialogModel.ts rename to src/sql/workbench/services/insights/browser/insightsDialogModel.ts index d9cfd21652..72ead55108 100644 --- a/src/sql/workbench/services/insights/common/insightsDialogModel.ts +++ b/src/sql/workbench/services/insights/browser/insightsDialogModel.ts @@ -3,11 +3,20 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInsightsDialogModel, ListResource } from 'sql/workbench/services/insights/common/insightsDialogService'; -import { IInsightsConfigDetails, IInsightsLabel } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { Conditional } from 'sql/workbench/parts/dashboard/common/interfaces'; +import { IInsightsDialogModel, ListResource } from 'sql/workbench/services/insights/browser/insightsDialogService'; import { Event, Emitter } from 'vs/base/common/event'; +import { IInsightsConfigDetails, IInsightsLabel } from 'sql/platform/dashboard/browser/insightRegistry'; + +export enum Conditional { + 'equals', + 'notEquals', + 'greaterThanOrEquals', + 'greaterThan', + 'lessThanOrEquals', + 'lessThan', + 'always' +} export class InsightsDialogModel implements IInsightsDialogModel { private _rows: string[][]; diff --git a/src/sql/workbench/services/insights/browser/insightsDialogService.ts b/src/sql/workbench/services/insights/browser/insightsDialogService.ts index bb9d2455b4..c521efa734 100644 --- a/src/sql/workbench/services/insights/browser/insightsDialogService.ts +++ b/src/sql/workbench/services/insights/browser/insightsDialogService.ts @@ -2,41 +2,42 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; +import { Event } from 'vs/base/common/event'; +import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; -import { InsightsDialogController } from 'sql/workbench/services/insights/common/insightsDialogController'; -import { InsightsDialogView } from 'sql/workbench/services/insights/browser/insightsDialogView'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { IInsightsConfig } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { IInsightsDialogModel, IInsightsDialogService } from 'sql/workbench/services/insights/common/insightsDialogService'; -import { InsightsDialogModel } from 'sql/workbench/services/insights/common/insightsDialogModel'; +import { BaseActionContext } from 'sql/workbench/common/actions'; +import { IInsightsConfigDetails, IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry'; -export class InsightsDialogService implements IInsightsDialogService { - _serviceBrand: any; - private _insightsDialogController: InsightsDialogController; - private _insightsDialogView: InsightsDialogView; - private _insightsDialogModel: IInsightsDialogModel; - - constructor(@IInstantiationService private _instantiationService: IInstantiationService) { } - - // query string - public show(input: IInsightsConfig, connectionProfile: IConnectionProfile): void { - if (!this._insightsDialogView) { - this._insightsDialogModel = new InsightsDialogModel(); - this._insightsDialogController = this._instantiationService.createInstance(InsightsDialogController, this._insightsDialogModel); - this._insightsDialogView = this._instantiationService.createInstance(InsightsDialogView, this._insightsDialogModel); - this._insightsDialogView.render(); - } else { - this._insightsDialogModel.reset(); - this._insightsDialogView.reset(); - } - - this._insightsDialogModel.insight = input.details; - this._insightsDialogController.update(input.details, connectionProfile); - this._insightsDialogView.open(input.details, connectionProfile); - } - - public close(): void { - this._insightsDialogView.close(); - } +export interface IInsightsDialogModel { + rows: string[][]; + columns: string[]; + getListResources(labelIndex: number, valueIndex: number): ListResource[]; + reset(): void; + onDataChange: Event; + insight: IInsightsConfigDetails; } + +export interface ListResource { + value: string; + label: string; + icon?: string; + data?: string[]; + stateColor?: string; + stateIcon?: string; +} + +export const IInsightsDialogService = createDecorator('insightsDialogService'); + +export interface IInsightsDialogService { + _serviceBrand: any; + show(input: IInsightsConfig, connectionProfile: IConnectionProfile): void; + close(); +} + +export interface IInsightDialogActionContext extends BaseActionContext { + cellData: string; +} + +/* Regex that matches the form `${value}` */ +export const insertValueRegex: RegExp = /\${(.*?)\}/; diff --git a/src/sql/workbench/services/insights/browser/insightsDialogServiceImpl.ts b/src/sql/workbench/services/insights/browser/insightsDialogServiceImpl.ts new file mode 100644 index 0000000000..7a679100bd --- /dev/null +++ b/src/sql/workbench/services/insights/browser/insightsDialogServiceImpl.ts @@ -0,0 +1,42 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; + +import { InsightsDialogView } from 'sql/workbench/services/insights/browser/insightsDialogView'; +import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; +import { IInsightsDialogModel, IInsightsDialogService } from 'sql/workbench/services/insights/browser/insightsDialogService'; +import { InsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogModel'; +import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry'; +import { InsightsDialogController } from 'sql/workbench/services/insights/common/insightsDialogController'; + +export class InsightsDialogService implements IInsightsDialogService { + _serviceBrand: any; + private _insightsDialogController: InsightsDialogController; + private _insightsDialogView: InsightsDialogView; + private _insightsDialogModel: IInsightsDialogModel; + + constructor(@IInstantiationService private _instantiationService: IInstantiationService) { } + + // query string + public show(input: IInsightsConfig, connectionProfile: IConnectionProfile): void { + if (!this._insightsDialogView) { + this._insightsDialogModel = new InsightsDialogModel(); + this._insightsDialogController = this._instantiationService.createInstance(InsightsDialogController, this._insightsDialogModel); + this._insightsDialogView = this._instantiationService.createInstance(InsightsDialogView, this._insightsDialogModel); + this._insightsDialogView.render(); + } else { + this._insightsDialogModel.reset(); + this._insightsDialogView.reset(); + } + + this._insightsDialogModel.insight = input.details; + this._insightsDialogController.update(input.details, connectionProfile); + this._insightsDialogView.open(input.details, connectionProfile); + } + + public close(): void { + this._insightsDialogView.close(); + } +} diff --git a/src/sql/workbench/services/insights/browser/insightsDialogView.ts b/src/sql/workbench/services/insights/browser/insightsDialogView.ts index 2ee4605deb..41773d4b5c 100644 --- a/src/sql/workbench/services/insights/browser/insightsDialogView.ts +++ b/src/sql/workbench/services/insights/browser/insightsDialogView.ts @@ -7,16 +7,14 @@ import 'vs/css!./media/insightsDialog'; import { Button } from 'sql/base/browser/ui/button/button'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Modal } from 'sql/workbench/browser/modal/modal'; -import { IInsightsConfigDetails } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import { attachButtonStyler, attachModalDialogStyler, attachTableStyler, attachPanelStyler } from 'sql/platform/theme/common/styler'; -import { TaskRegistry } from 'sql/platform/tasks/common/tasks'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import { IInsightsDialogModel, ListResource, IInsightDialogActionContext, insertValueRegex } from 'sql/workbench/services/insights/common/insightsDialogService'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import { IInsightsDialogModel, ListResource, IInsightDialogActionContext, insertValueRegex } from 'sql/workbench/services/insights/browser/insightsDialogService'; import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; import { RowSelectionModel } from 'sql/base/browser/ui/table/plugins/rowSelectionModel.plugin'; import { Table } from 'sql/base/browser/ui/table/table'; -import { CopyInsightDialogSelectionAction } from 'sql/workbench/services/insights/common/insightDialogActions'; +import { CopyInsightDialogSelectionAction } from 'sql/workbench/services/insights/browser/insightDialogActions'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService'; import { IDisposableDataProvider } from 'sql/base/browser/ui/table/interfaces'; @@ -41,6 +39,8 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ILogService } from 'vs/platform/log/common/log'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; +import { IInsightsConfigDetails } from 'sql/platform/dashboard/browser/insightRegistry'; +import { TaskRegistry } from 'sql/platform/tasks/browser/tasksRegistry'; const labelDisplay = nls.localize("insights.item", "Item"); const valueDisplay = nls.localize("insights.value", "Value"); diff --git a/src/sql/workbench/services/insights/common/insightsDialogController.ts b/src/sql/workbench/services/insights/common/insightsDialogController.ts index c5f17ceff0..36d1e58915 100644 --- a/src/sql/workbench/services/insights/common/insightsDialogController.ts +++ b/src/sql/workbench/services/insights/common/insightsDialogController.ts @@ -5,10 +5,8 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { IInsightsConfigDetails } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import QueryRunner from 'sql/platform/query/common/queryRunner'; import * as Utils from 'sql/platform/connection/common/utils'; -import { IInsightsDialogModel } from 'sql/workbench/services/insights/common/insightsDialogService'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; import { resolveQueryFilePath } from './insightsUtils'; @@ -22,6 +20,8 @@ import { INotificationService } from 'vs/platform/notification/common/notificati import { ILogService } from 'vs/platform/log/common/log'; import { IFileService } from 'vs/platform/files/common/files'; import { URI } from 'vs/base/common/uri'; +import { IInsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogService'; +import { IInsightsConfigDetails } from 'sql/platform/dashboard/browser/insightRegistry'; export class InsightsDialogController { private _queryRunner: QueryRunner; diff --git a/src/sql/workbench/services/insights/common/insightsDialogService.ts b/src/sql/workbench/services/insights/common/insightsDialogService.ts deleted file mode 100644 index 486f193f60..0000000000 --- a/src/sql/workbench/services/insights/common/insightsDialogService.ts +++ /dev/null @@ -1,43 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -import { Event } from 'vs/base/common/event'; -import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; - -import { IInsightsConfigDetails, IInsightsConfig } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { BaseActionContext } from 'sql/workbench/common/actions'; - -export interface IInsightsDialogModel { - rows: string[][]; - columns: string[]; - getListResources(labelIndex: number, valueIndex: number): ListResource[]; - reset(): void; - onDataChange: Event; - insight: IInsightsConfigDetails; -} - -export interface ListResource { - value: string; - label: string; - icon?: string; - data?: string[]; - stateColor?: string; - stateIcon?: string; -} - -export const IInsightsDialogService = createDecorator('insightsDialogService'); - -export interface IInsightsDialogService { - _serviceBrand: any; - show(input: IInsightsConfig, connectionProfile: IConnectionProfile): void; - close(); -} - -export interface IInsightDialogActionContext extends BaseActionContext { - cellData: string; -} - -/* Regex that matches the form `${value}` */ -export const insertValueRegex: RegExp = /\${(.*?)\}/; diff --git a/src/sql/workbench/services/insights/test/common/insightsDialogController.test.ts b/src/sql/workbench/services/insights/test/browser/insightsDialogController.test.ts similarity index 96% rename from src/sql/workbench/services/insights/test/common/insightsDialogController.test.ts rename to src/sql/workbench/services/insights/test/browser/insightsDialogController.test.ts index fef7bc5534..28e22c7835 100644 --- a/src/sql/workbench/services/insights/test/common/insightsDialogController.test.ts +++ b/src/sql/workbench/services/insights/test/browser/insightsDialogController.test.ts @@ -4,10 +4,8 @@ *--------------------------------------------------------------------------------------------*/ import { InsightsDialogController } from 'sql/workbench/services/insights/common/insightsDialogController'; -import { InsightsDialogModel } from 'sql/workbench/services/insights/common/insightsDialogModel'; import QueryRunner from 'sql/platform/query/common/queryRunner'; import { ConnectionManagementService } from 'sql/platform/connection/common/connectionManagementService'; -import { IInsightsConfigDetails } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; @@ -17,6 +15,8 @@ import { equal } from 'assert'; import { Mock, MockBehavior, It } from 'typemoq'; import { TestStorageService } from 'vs/workbench/test/workbenchTestServices'; import { Emitter } from 'vs/base/common/event'; +import { InsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogModel'; +import { IInsightsConfigDetails } from 'sql/platform/dashboard/browser/insightRegistry'; const testData: string[][] = [ ['1', '2', '3', '4'], diff --git a/src/sql/workbench/services/insights/test/common/insightsDialogModel.test.ts b/src/sql/workbench/services/insights/test/browser/insightsDialogModel.test.ts similarity index 97% rename from src/sql/workbench/services/insights/test/common/insightsDialogModel.test.ts rename to src/sql/workbench/services/insights/test/browser/insightsDialogModel.test.ts index 74e205b8a1..5f06debf85 100644 --- a/src/sql/workbench/services/insights/test/common/insightsDialogModel.test.ts +++ b/src/sql/workbench/services/insights/test/browser/insightsDialogModel.test.ts @@ -2,11 +2,12 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IInsightsLabel, IInsightsConfigDetails } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces'; -import { InsightsDialogModel } from 'sql/workbench/services/insights/common/insightsDialogModel'; + +import { InsightsDialogModel } from 'sql/workbench/services/insights/browser/insightsDialogModel'; import { isUndefinedOrNull } from 'vs/base/common/types'; import * as assert from 'assert'; +import { IInsightsLabel, IInsightsConfigDetails } from 'sql/platform/dashboard/browser/insightRegistry'; suite('Insights Dialog Model Tests', () => { test('does parse condition right', () => { diff --git a/src/sql/workbench/services/insights/test/common/insightsUtils.test.ts b/src/sql/workbench/services/insights/test/electron-browser/insightsUtils.test.ts similarity index 99% rename from src/sql/workbench/services/insights/test/common/insightsUtils.test.ts rename to src/sql/workbench/services/insights/test/electron-browser/insightsUtils.test.ts index 943d09b2ec..7796d52d95 100644 --- a/src/sql/workbench/services/insights/test/common/insightsUtils.test.ts +++ b/src/sql/workbench/services/insights/test/electron-browser/insightsUtils.test.ts @@ -9,9 +9,7 @@ import * as os from 'os'; import { resolveQueryFilePath } from 'sql/workbench/services/insights/common/insightsUtils'; import * as path from 'vs/base/common/path'; -import * as pfs from 'vs/base/node/pfs'; -import { getRandomTestPath } from 'vs/base/test/node/testUtils'; import { Workspace, toWorkspaceFolder, IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { ConfigurationResolverService } from 'vs/workbench/services/configurationResolver/browser/configurationResolverService'; import { TestContextService, TestFileService } from 'vs/workbench/test/workbenchTestServices'; @@ -22,6 +20,8 @@ import { IWindowConfiguration } from 'vs/platform/windows/common/windows'; import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock'; import { IConfigurationResolverService } from 'vs/workbench/services/configurationResolver/common/configurationResolver'; import { IFileService } from 'vs/platform/files/common/files'; +import * as pfs from 'vs/base/node/pfs'; +import { getRandomTestPath } from 'vs/base/test/node/testUtils'; class TestEnvironmentService implements IWorkbenchEnvironmentService { webviewCspSource: string; @@ -318,9 +318,4 @@ suite('Insights Utils tests', function () { } }); - - suiteTeardown(() => { - // Clean up our test files - return pfs.rimraf(testRootPath, pfs.RimRafMode.MOVE); - }); }); diff --git a/src/sql/workbench/services/notebook/common/notebookService.ts b/src/sql/workbench/services/notebook/common/notebookService.ts index 63a852d1eb..fc554bd62f 100644 --- a/src/sql/workbench/services/notebook/common/notebookService.ts +++ b/src/sql/workbench/services/notebook/common/notebookService.ts @@ -8,14 +8,14 @@ import * as azdata from 'azdata'; import { Event } from 'vs/base/common/event'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { URI } from 'vs/base/common/uri'; -import { IBootstrapParams } from 'sql/platform/bootstrap/node/bootstrapService'; -import { RenderMimeRegistry } from 'sql/workbench/parts/notebook/outputs/registry'; -import { ModelFactory } from 'sql/workbench/parts/notebook/models/modelFactory'; +import { RenderMimeRegistry } from 'sql/workbench/parts/notebook/electron-browser/outputs/registry'; +import { ModelFactory } from 'sql/workbench/parts/notebook/node/models/modelFactory'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -import { NotebookInput } from 'sql/workbench/parts/notebook/notebookInput'; +import { NotebookInput } from 'sql/workbench/parts/notebook/node/notebookInput'; import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { ICellModel, INotebookModel, ILanguageMagic } from 'sql/workbench/parts/notebook/models/modelInterfaces'; -import { NotebookChangeType } from 'sql/workbench/parts/notebook/models/contracts'; +import { ICellModel, INotebookModel } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; +import { NotebookChangeType } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { IBootstrapParams } from 'sql/platform/bootstrap/common/bootstrapParams'; export const SERVICE_ID = 'notebookService'; export const INotebookService = createDecorator(SERVICE_ID); @@ -25,6 +25,13 @@ export const DEFAULT_NOTEBOOK_FILETYPE = 'IPYNB'; export const SQL_NOTEBOOK_PROVIDER = 'sql'; export const OVERRIDE_EDITOR_THEMING_SETTING = 'notebook.overrideEditorTheming'; +export interface ILanguageMagic { + magic: string; + language: string; + kernels?: string[]; + executionTarget?: string; +} + export interface INotebookService { _serviceBrand: any; diff --git a/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts b/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts index 7cea3b7abc..584d5a722f 100644 --- a/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts +++ b/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts @@ -10,10 +10,10 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { INotebookService, INotebookManager, INotebookProvider, - DEFAULT_NOTEBOOK_FILETYPE, INotebookEditor, SQL_NOTEBOOK_PROVIDER, OVERRIDE_EDITOR_THEMING_SETTING, INavigationProvider + DEFAULT_NOTEBOOK_FILETYPE, INotebookEditor, SQL_NOTEBOOK_PROVIDER, OVERRIDE_EDITOR_THEMING_SETTING, INavigationProvider, ILanguageMagic } from 'sql/workbench/services/notebook/common/notebookService'; -import { RenderMimeRegistry } from 'sql/workbench/parts/notebook/outputs/registry'; -import { standardRendererFactories } from 'sql/workbench/parts/notebook/outputs/factories'; +import { RenderMimeRegistry } from 'sql/workbench/parts/notebook/electron-browser/outputs/registry'; +import { standardRendererFactories } from 'sql/workbench/parts/notebook/electron-browser/outputs/factories'; import { Extensions, INotebookProviderRegistry, NotebookProviderRegistration } from 'sql/workbench/services/notebook/common/notebookRegistry'; import { Emitter, Event } from 'vs/base/common/event'; import { Memento } from 'vs/workbench/common/memento'; @@ -26,11 +26,11 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { NotebookEditorVisibleContext } from 'sql/workbench/services/notebook/common/notebookContext'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { NotebookEditor } from 'sql/workbench/parts/notebook/notebookEditor'; +import { NotebookEditor } from 'sql/workbench/parts/notebook/electron-browser/notebookEditor'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { registerNotebookThemes } from 'sql/workbench/parts/notebook/notebookStyles'; +import { registerNotebookThemes } from 'sql/workbench/parts/notebook/browser/notebookStyles'; import { IQueryManagementService } from 'sql/platform/query/common/queryManagement'; -import { ILanguageMagic, notebookConstants } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { notebookConstants } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle'; import { SqlNotebookProvider } from 'sql/workbench/services/notebook/sql/sqlNotebookProvider'; import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService'; @@ -40,7 +40,7 @@ import { RunOnceScheduler } from 'vs/base/common/async'; import { Schemas } from 'vs/base/common/network'; import { ILogService } from 'vs/platform/log/common/log'; import { toErrorMessage } from 'vs/base/common/errorMessage'; -import { NotebookChangeType } from 'sql/workbench/parts/notebook/models/contracts'; +import { NotebookChangeType } from 'sql/workbench/parts/notebook/common/models/contracts'; import product from 'vs/platform/product/node/product'; export interface NotebookProviderProperties { diff --git a/src/sql/workbench/services/notebook/common/sessionManager.ts b/src/sql/workbench/services/notebook/common/sessionManager.ts index 6a04916f1d..d9bd61aea7 100644 --- a/src/sql/workbench/services/notebook/common/sessionManager.ts +++ b/src/sql/workbench/services/notebook/common/sessionManager.ts @@ -5,7 +5,7 @@ import { nb } from 'azdata'; import { localize } from 'vs/nls'; -import { FutureInternal } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { FutureInternal } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; export const noKernel: string = localize('noKernel', 'No Kernel'); diff --git a/src/sql/workbench/services/notebook/node/localContentManager.ts b/src/sql/workbench/services/notebook/node/localContentManager.ts index 8cfefe65d5..10b7c8765c 100644 --- a/src/sql/workbench/services/notebook/node/localContentManager.ts +++ b/src/sql/workbench/services/notebook/node/localContentManager.ts @@ -12,10 +12,10 @@ import * as pfs from 'vs/base/node/pfs'; import { URI } from 'vs/base/common/uri'; import { localize } from 'vs/nls'; -import { JSONObject } from 'sql/workbench/parts/notebook/models/jsonext'; -import { OutputTypes } from 'sql/workbench/parts/notebook/models/contracts'; -import { nbversion } from 'sql/workbench/parts/notebook/notebookConstants'; -import { nbformat } from 'sql/workbench/parts/notebook/models/nbformat'; +import { JSONObject } from 'sql/workbench/parts/notebook/common/models/jsonext'; +import { OutputTypes } from 'sql/workbench/parts/notebook/common/models/contracts'; +import { nbversion } from 'sql/workbench/parts/notebook/common/models/notebookConstants'; +import { nbformat } from 'sql/workbench/parts/notebook/common/models/nbformat'; type MimeBundle = { [key: string]: string | string[] | undefined }; diff --git a/src/sql/workbench/services/notebook/sql/sqlSessionManager.ts b/src/sql/workbench/services/notebook/sql/sqlSessionManager.ts index 33599171ce..42b1d3e299 100644 --- a/src/sql/workbench/services/notebook/sql/sqlSessionManager.ts +++ b/src/sql/workbench/services/notebook/sql/sqlSessionManager.ts @@ -6,8 +6,7 @@ import * as os from 'os'; import { nb, QueryExecuteSubsetResult, IDbColumn, BatchSummary, IResultMessage, ResultSetSummary } from 'azdata'; import { localize } from 'vs/nls'; -import * as strings from 'vs/base/common/strings'; -import { FutureInternal, ILanguageMagic, notebookConstants } from 'sql/workbench/parts/notebook/models/modelInterfaces'; +import { FutureInternal, notebookConstants } from 'sql/workbench/parts/notebook/node/models/modelInterfaces'; import QueryRunner from 'sql/platform/query/common/queryRunner'; import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -18,12 +17,12 @@ import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMess import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { escape } from 'sql/base/common/strings'; -import { elapsedTimeLabel } from 'sql/workbench/parts/query/common/localizedConstants'; -import * as notebookUtils from 'sql/workbench/parts/notebook/notebookUtils'; +import * as notebookUtils from 'sql/workbench/parts/notebook/node/models/notebookUtils'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; import { ILogService } from 'vs/platform/log/common/log'; import { isUndefinedOrNull } from 'vs/base/common/types'; +import { ILanguageMagic } from 'sql/workbench/services/notebook/common/notebookService'; export const sqlKernelError: string = localize("sqlKernelError", "SQL kernel error"); export const MAX_ROWS = 5000; diff --git a/src/sql/workbench/services/objectExplorer/common/objectExplorerService.ts b/src/sql/workbench/services/objectExplorer/common/objectExplorerService.ts index e59ec6dacc..2de2c4bb55 100644 --- a/src/sql/workbench/services/objectExplorer/common/objectExplorerService.ts +++ b/src/sql/workbench/services/objectExplorer/common/objectExplorerService.ts @@ -13,8 +13,8 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Event, Emitter } from 'vs/base/common/event'; import * as azdata from 'azdata'; import * as nls from 'vs/nls'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ServerTreeView } from 'sql/workbench/parts/objectExplorer/browser/serverTreeView'; import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService'; diff --git a/src/sqltest/parts/connection/objectExplorerService.test.ts b/src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts similarity index 98% rename from src/sqltest/parts/connection/objectExplorerService.test.ts rename to src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts index e6d6c89892..6f9f55c460 100644 --- a/src/sqltest/parts/connection/objectExplorerService.test.ts +++ b/src/sql/workbench/services/objectExplorer/test/browser/objectExplorerService.test.ts @@ -3,8 +3,6 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ObjectExplorerProviderTestService } from 'sqltest/stubs/objectExplorerProviderTestService'; -import { TestConnectionManagementService } from 'sqltest/stubs/connectionManagementService.test'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; import { ObjectExplorerService, NodeExpandInfoWithProviderId } from 'sql/workbench/services/objectExplorer/common/objectExplorerService'; @@ -17,12 +15,14 @@ import * as assert from 'assert'; import { ServerTreeView } from 'sql/workbench/parts/objectExplorer/browser/serverTreeView'; import { ConnectionOptionSpecialType, ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes'; import { Event, Emitter } from 'vs/base/common/event'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; import { NullLogService } from 'vs/platform/log/common/log'; +import { TestObjectExplorerProvider } from 'sql/workbench/services/objectExplorer/test/common/testObjectExplorerProvider'; +import { TestConnectionManagementService } from 'sql/platform/connection/test/common/testConnectionManagementService'; +import { TestCapabilitiesService } from 'sql/platform/capabilities/test/common/testCapabilitiesService'; suite('SQL Object Explorer Service tests', () => { - let sqlOEProvider: TypeMoq.Mock; + let sqlOEProvider: TypeMoq.Mock; let connectionManagementService: TypeMoq.Mock; let connection: ConnectionProfile; let connectionToFail: ConnectionProfile; @@ -123,7 +123,7 @@ suite('SQL Object Explorer Service tests', () => { sessionId: failedSessionId }; - sqlOEProvider = TypeMoq.Mock.ofType(ObjectExplorerProviderTestService, TypeMoq.MockBehavior.Loose); + sqlOEProvider = TypeMoq.Mock.ofType(TestObjectExplorerProvider, TypeMoq.MockBehavior.Loose); sqlOEProvider.callBase = true; let onCapabilitiesRegistered = new Emitter(); @@ -218,7 +218,7 @@ suite('SQL Object Explorer Service tests', () => { ] }; - let capabilitiesService = new CapabilitiesTestService(); + let capabilitiesService = new TestCapabilitiesService(); capabilitiesService.capabilities[mssqlProviderName] = { connection: sqlProvider }; connection = new ConnectionProfile(capabilitiesService, { diff --git a/src/sqltest/stubs/objectExplorerProviderTestService.ts b/src/sql/workbench/services/objectExplorer/test/common/testObjectExplorerProvider.ts similarity index 94% rename from src/sqltest/stubs/objectExplorerProviderTestService.ts rename to src/sql/workbench/services/objectExplorer/test/common/testObjectExplorerProvider.ts index f5c3a807db..5e7d7eb4d3 100644 --- a/src/sqltest/stubs/objectExplorerProviderTestService.ts +++ b/src/sql/workbench/services/objectExplorer/test/common/testObjectExplorerProvider.ts @@ -7,7 +7,7 @@ import { mssqlProviderName } from 'sql/platform/connection/common/constants'; // Test stubs for commonly used objects -export class ObjectExplorerProviderTestService implements azdata.ObjectExplorerProvider { +export class TestObjectExplorerProvider implements azdata.ObjectExplorerProvider { public readonly providerId = mssqlProviderName; diff --git a/src/sql/workbench/services/profiler/common/profilerService.ts b/src/sql/workbench/services/profiler/browser/profilerService.ts similarity index 99% rename from src/sql/workbench/services/profiler/common/profilerService.ts rename to src/sql/workbench/services/profiler/browser/profilerService.ts index 03060566a5..a2f0e76446 100644 --- a/src/sql/workbench/services/profiler/common/profilerService.ts +++ b/src/sql/workbench/services/profiler/browser/profilerService.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IConnectionManagementService, IConnectionCompletionOptions, ConnectionType, RunQueryOnConnectionMode } from 'sql/platform/connection/common/connectionManagement'; -import { ProfilerSessionID, IProfilerSession, IProfilerService, IProfilerViewTemplate, IProfilerSessionTemplate, PROFILER_SETTINGS, IProfilerSettings, EngineType, ProfilerFilter, PROFILER_FILTER_SETTINGS } from './interfaces'; +import { ProfilerSessionID, IProfilerSession, IProfilerService, IProfilerViewTemplate, IProfilerSessionTemplate, PROFILER_SETTINGS, IProfilerSettings, EngineType, ProfilerFilter, PROFILER_FILTER_SETTINGS } from '../common/interfaces'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { ProfilerInput } from 'sql/workbench/parts/profiler/browser/profilerInput'; import { ProfilerColumnEditorDialog } from 'sql/workbench/parts/profiler/browser/profilerColumnEditorDialog'; diff --git a/src/sqltest/parts/profiler/service/profilerFilter.test.ts b/src/sql/workbench/services/profiler/test/common/profilerFilter.test.ts similarity index 100% rename from src/sqltest/parts/profiler/service/profilerFilter.test.ts rename to src/sql/workbench/services/profiler/test/common/profilerFilter.test.ts diff --git a/src/sql/workbench/services/queryEditor/common/editorDescriptorService.ts b/src/sql/workbench/services/queryEditor/browser/editorDescriptorService.ts similarity index 100% rename from src/sql/workbench/services/queryEditor/common/editorDescriptorService.ts rename to src/sql/workbench/services/queryEditor/browser/editorDescriptorService.ts diff --git a/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts b/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts index 29d4c41d60..ba29904dc3 100644 --- a/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts +++ b/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts @@ -8,8 +8,8 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { IResourceProviderService, IHandleFirewallRuleResult } from 'sql/workbench/services/resourceProvider/common/resourceProviderService'; -import * as TelemetryKeys from 'sql/platform/telemetry/telemetryKeys'; -import * as TelemetryUtils from 'sql/platform/telemetry/telemetryUtilities'; +import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; +import * as TelemetryUtils from 'sql/platform/telemetry/common/telemetryUtilities'; import { FirewallRuleDialogController } from 'sql/platform/accounts/browser/firewallRuleDialogController'; import * as azdata from 'azdata'; diff --git a/src/sqltest/stubs/resourceProviderServiceStub.ts b/src/sql/workbench/services/resourceProvider/test/common/testResourceProviderService.ts similarity index 95% rename from src/sqltest/stubs/resourceProviderServiceStub.ts rename to src/sql/workbench/services/resourceProvider/test/common/testResourceProviderService.ts index 54340dc527..a38fc7d48e 100644 --- a/src/sqltest/stubs/resourceProviderServiceStub.ts +++ b/src/sql/workbench/services/resourceProvider/test/common/testResourceProviderService.ts @@ -7,7 +7,7 @@ import * as azdata from 'azdata'; import { IHandleFirewallRuleResult, IResourceProviderService } from 'sql/workbench/services/resourceProvider/common/resourceProviderService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; -export class ResourceProviderStub implements IResourceProviderService { +export class TestResourceProvider implements IResourceProviderService { _serviceBrand: any; registerProvider(providerId: string, provider: azdata.ResourceProvider) { diff --git a/src/sqltest/parts/common/optionsDialogHelper.test.ts b/src/sql/workbench/test/browser/modal/optionsDialogHelper.test.ts similarity index 100% rename from src/sqltest/parts/common/optionsDialogHelper.test.ts rename to src/sql/workbench/test/browser/modal/optionsDialogHelper.test.ts diff --git a/src/sqltest/workbench/common/taskUtilities.test.ts b/src/sql/workbench/test/common/taskUtilities.test.ts similarity index 93% rename from src/sqltest/workbench/common/taskUtilities.test.ts rename to src/sql/workbench/test/common/taskUtilities.test.ts index 3d5a3b23d9..d968db3e16 100644 --- a/src/sqltest/workbench/common/taskUtilities.test.ts +++ b/src/sql/workbench/test/common/taskUtilities.test.ts @@ -7,20 +7,20 @@ import * as assert from 'assert'; import * as TypeMoq from 'typemoq'; import * as TaskUtilities from 'sql/workbench/common/taskUtilities'; import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/common/objectExplorerService'; -import { TestConnectionManagementService } from 'sqltest/stubs/connectionManagementService.test'; +import { TestConnectionManagementService } from 'sql/platform/connection/test/common/testConnectionManagementService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; -import { WorkbenchEditorTestService } from 'sqltest/stubs/workbenchEditorTestService'; import { URI } from 'vs/base/common/uri'; import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput'; import { QueryInput } from 'sql/workbench/parts/query/common/queryInput'; +import { TestEditorService } from 'vs/workbench/test/workbenchTestServices'; suite('TaskUtilities', function () { test('getCurrentGlobalConnection returns the selected OE server if a server or one of its children is selected', () => { let connectionProfile = { databaseName: 'test_database', id: 'test_id', authenticationType: 'SQL Login', password: 'test_password', serverName: 'test_server', userName: 'test_user' } as IConnectionProfile; let mockObjectExplorerService = TypeMoq.Mock.ofInstance({ isFocused: () => undefined, getSelectedProfileAndDatabase: () => undefined } as IObjectExplorerService); let mockConnectionManagementService = TypeMoq.Mock.ofType(TestConnectionManagementService); - let mockWorkbenchEditorService = TypeMoq.Mock.ofType(WorkbenchEditorTestService); + let mockWorkbenchEditorService = TypeMoq.Mock.ofType(TestEditorService); let expectedProfile = new ConnectionProfile(undefined, connectionProfile); mockObjectExplorerService.setup(x => x.isFocused()).returns(() => true); mockObjectExplorerService.setup(x => x.getSelectedProfileAndDatabase()).returns(() => { @@ -37,7 +37,7 @@ suite('TaskUtilities', function () { let connectionProfile = { databaseName: 'test_database', id: 'test_id', authenticationType: 'SQL Login', password: 'test_password', serverName: 'test_server', userName: 'test_user' } as IConnectionProfile; let mockObjectExplorerService = TypeMoq.Mock.ofInstance({ isFocused: () => undefined, getSelectedProfileAndDatabase: () => undefined } as IObjectExplorerService); let mockConnectionManagementService = TypeMoq.Mock.ofType(TestConnectionManagementService); - let mockWorkbenchEditorService = TypeMoq.Mock.ofType(WorkbenchEditorTestService); + let mockWorkbenchEditorService = TypeMoq.Mock.ofType(TestEditorService); let serverProfile = new ConnectionProfile(undefined, connectionProfile); let dbName = 'test_database'; mockObjectExplorerService.setup(x => x.isFocused()).returns(() => true); @@ -61,7 +61,7 @@ suite('TaskUtilities', function () { let connectionProfile = { databaseName: 'test_database', id: 'test_id', authenticationType: 'SQL Login', password: 'test_password', serverName: 'test_server', userName: 'test_user' } as IConnectionProfile; let mockObjectExplorerService = TypeMoq.Mock.ofInstance({ isFocused: () => undefined, getSelectedProfileAndDatabase: () => undefined } as IObjectExplorerService); let mockConnectionManagementService = TypeMoq.Mock.ofType(TestConnectionManagementService); - let mockWorkbenchEditorService = TypeMoq.Mock.ofType(WorkbenchEditorTestService); + let mockWorkbenchEditorService = TypeMoq.Mock.ofType(TestEditorService); let oeProfile = new ConnectionProfile(undefined, connectionProfile); let connectionProfile2 = Object.assign({}, connectionProfile); connectionProfile2.serverName = 'test_server_2'; @@ -92,7 +92,7 @@ suite('TaskUtilities', function () { let connectionProfile = { databaseName: 'test_database', id: 'test_id', authenticationType: 'SQL Login', password: 'test_password', serverName: 'test_server', userName: 'test_user' } as IConnectionProfile; let mockObjectExplorerService = TypeMoq.Mock.ofInstance({ isFocused: () => undefined, getSelectedProfileAndDatabase: () => undefined } as IObjectExplorerService); let mockConnectionManagementService = TypeMoq.Mock.ofType(TestConnectionManagementService); - let mockWorkbenchEditorService = TypeMoq.Mock.ofType(WorkbenchEditorTestService); + let mockWorkbenchEditorService = TypeMoq.Mock.ofType(TestEditorService); let oeProfile = new ConnectionProfile(undefined, connectionProfile); mockObjectExplorerService.setup(x => x.isFocused()).returns(() => false); mockObjectExplorerService.setup(x => x.getSelectedProfileAndDatabase()).returns(() => { diff --git a/src/sqltest/workbench/api/extHostAccountManagement.test.ts b/src/sql/workbench/test/electron-browser/api/extHostAccountManagement.test.ts similarity index 97% rename from src/sqltest/workbench/api/extHostAccountManagement.test.ts rename to src/sql/workbench/test/electron-browser/api/extHostAccountManagement.test.ts index 7d1b613e0e..bc764dd8c0 100644 --- a/src/sqltest/workbench/api/extHostAccountManagement.test.ts +++ b/src/sql/workbench/test/electron-browser/api/extHostAccountManagement.test.ts @@ -6,12 +6,12 @@ import * as assert from 'assert'; import * as azdata from 'azdata'; import * as TypeMoq from 'typemoq'; -import { AccountProviderStub, AccountManagementTestService } from 'sqltest/stubs/accountManagementStubs'; -import { ExtHostAccountManagement } from 'sql/workbench/api/node/extHostAccountManagement'; +import { AccountProviderStub, TestAccountManagementService } from 'sql/platform/accounts/test/common/testAccountManagementService'; +import { ExtHostAccountManagement } from 'sql/workbench/api/common/extHostAccountManagement'; import { TestRPCProtocol } from 'vs/workbench/test/electron-browser/api/testRPCProtocol'; import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock'; import { IRPCProtocol } from 'vs/workbench/services/extensions/common/proxyIdentifier'; -import { SqlMainContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { SqlMainContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { MainThreadAccountManagement } from 'sql/workbench/api/browser/mainThreadAccountManagement'; import { IAccountManagementService, AzureResource } from 'sql/platform/accounts/common/interfaces'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; @@ -28,7 +28,7 @@ let threadService: TestRPCProtocol; suite('ExtHostAccountManagement', () => { suiteSetup(() => { threadService = new TestRPCProtocol(); - const accountMgmtStub = new AccountManagementTestService(); + const accountMgmtStub = new TestAccountManagementService(); instantiationService = new TestInstantiationService(); instantiationService.stub(IRPCProtocol, threadService); @@ -446,8 +446,8 @@ function getMockAccountProvider(): TypeMoq.Mock { return mock; } -function getMockAccountManagementService(accounts: azdata.Account[]): TypeMoq.Mock { - let mockAccountManagementService = TypeMoq.Mock.ofType(AccountManagementTestService); +function getMockAccountManagementService(accounts: azdata.Account[]): TypeMoq.Mock { + let mockAccountManagementService = TypeMoq.Mock.ofType(TestAccountManagementService); mockAccountManagementService.setup(x => x.getAccountsForProvider(TypeMoq.It.isAny())) .returns(() => Promise.resolve(accounts)); diff --git a/src/sqltest/workbench/api/extHostBackgroundTaskManagement.test.ts b/src/sql/workbench/test/electron-browser/api/extHostBackgroundTaskManagement.test.ts similarity index 97% rename from src/sqltest/workbench/api/extHostBackgroundTaskManagement.test.ts rename to src/sql/workbench/test/electron-browser/api/extHostBackgroundTaskManagement.test.ts index 1aa0fcdd67..07c634727f 100644 --- a/src/sqltest/workbench/api/extHostBackgroundTaskManagement.test.ts +++ b/src/sql/workbench/test/electron-browser/api/extHostBackgroundTaskManagement.test.ts @@ -6,8 +6,8 @@ import * as azdata from 'azdata'; import * as assert from 'assert'; import { Mock, It, Times } from 'typemoq'; -import { ExtHostBackgroundTaskManagement, TaskStatus } from 'sql/workbench/api/node/extHostBackgroundTaskManagement'; -import { MainThreadBackgroundTaskManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostBackgroundTaskManagement, TaskStatus } from 'sql/workbench/api/common/extHostBackgroundTaskManagement'; +import { MainThreadBackgroundTaskManagementShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; diff --git a/src/sqltest/workbench/api/extHostCredentialManagement.test.ts b/src/sql/workbench/test/electron-browser/api/extHostCredentialManagement.test.ts similarity index 89% rename from src/sqltest/workbench/api/extHostCredentialManagement.test.ts rename to src/sql/workbench/test/electron-browser/api/extHostCredentialManagement.test.ts index a6a7d3c5fa..854ce54e37 100644 --- a/src/sqltest/workbench/api/extHostCredentialManagement.test.ts +++ b/src/sql/workbench/test/electron-browser/api/extHostCredentialManagement.test.ts @@ -6,19 +6,19 @@ import * as assert from 'assert'; import { TestRPCProtocol } from 'vs/workbench/test/electron-browser/api/testRPCProtocol'; import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock'; -import { ExtHostCredentialManagement } from 'sql/workbench/api/node/extHostCredentialManagement'; -import { SqlMainContext } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostCredentialManagement } from 'sql/workbench/api/common/extHostCredentialManagement'; +import { SqlMainContext } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IRPCProtocol } from 'vs/workbench/services/extensions/common/proxyIdentifier'; import { MainThreadCredentialManagement } from 'sql/workbench/api/browser/mainThreadCredentialManagement'; -import { CredentialsTestProvider, CredentialsTestService } from 'sqltest/stubs/credentialsTestStubs'; import { ICredentialsService } from 'sql/platform/credentials/common/credentialsService'; import { Credential, CredentialProvider } from 'azdata'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; +import { TestCredentialsService, TestCredentialsProvider } from 'sql/platform/credentials/test/common/testCredentialsService'; const IRPCProtocol = createDecorator('rpcProtocol'); // SUITE STATE ///////////////////////////////////////////////////////////// -let credentialServiceStub: CredentialsTestService; +let credentialServiceStub: TestCredentialsService; let instantiationService: TestInstantiationService; let threadService: TestRPCProtocol; @@ -26,7 +26,7 @@ let threadService: TestRPCProtocol; suite('ExtHostCredentialManagement', () => { suiteSetup(() => { threadService = new TestRPCProtocol(); - credentialServiceStub = new CredentialsTestService(); + credentialServiceStub = new TestCredentialsService(); instantiationService = new TestInstantiationService(); instantiationService.stub(IRPCProtocol, threadService); @@ -47,7 +47,7 @@ suite('ExtHostCredentialManagement', () => { test('Register Credential Provider', () => { // Setup: Create a mock credential provider let extHost = new ExtHostCredentialManagement(threadService); - let mockCredentialProvider = new CredentialsTestProvider(); + let mockCredentialProvider = new TestCredentialsProvider(); // If: I register the credential provider with the extension host extHost.$registerCredentialProvider(mockCredentialProvider); @@ -59,7 +59,7 @@ suite('ExtHostCredentialManagement', () => { test('Get Credential Provider - Success', (done) => { // Setup: Register a mock credential provider let extHost = new ExtHostCredentialManagement(threadService); - let mockCredentialProvider = new CredentialsTestProvider(); + let mockCredentialProvider = new TestCredentialsProvider(); extHost.$registerCredentialProvider(mockCredentialProvider); // If: I get the credential provider @@ -107,7 +107,7 @@ suite('ExtHostCredentialManagement', () => { test('Get Credential Provider - No Namespace', (done) => { // Setup: Register a mock credential provider let extHost = new ExtHostCredentialManagement(threadService); - let mockCredentialProvider = new CredentialsTestProvider(); + let mockCredentialProvider = new TestCredentialsProvider(); extHost.$registerCredentialProvider(mockCredentialProvider); // If: I get a credential provider with an invalid namespace ID diff --git a/src/sqltest/workbench/api/extHostDataProtocol.test.ts b/src/sql/workbench/test/electron-browser/api/extHostDataProtocol.test.ts similarity index 92% rename from src/sqltest/workbench/api/extHostDataProtocol.test.ts rename to src/sql/workbench/test/electron-browser/api/extHostDataProtocol.test.ts index aeea12d015..8ec8b0d478 100644 --- a/src/sqltest/workbench/api/extHostDataProtocol.test.ts +++ b/src/sql/workbench/test/electron-browser/api/extHostDataProtocol.test.ts @@ -6,10 +6,8 @@ import * as assert from 'assert'; import { Mock } from 'typemoq'; import * as azdata from 'azdata'; -import { ExtHostDataProtocol } from 'sql/workbench/api/node/extHostDataProtocol'; +import { ExtHostDataProtocol } from 'sql/workbench/api/common/extHostDataProtocol'; import { DataProviderType } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { ProxyAuthHandler } from 'vs/code/electron-main/auth'; -import { MainThreadDataProtocolShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; suite('ExtHostDataProtocol', () => { diff --git a/src/sqltest/workbench/api/extHostModelView.test.ts b/src/sql/workbench/test/electron-browser/api/extHostModelView.test.ts similarity index 98% rename from src/sqltest/workbench/api/extHostModelView.test.ts rename to src/sql/workbench/test/electron-browser/api/extHostModelView.test.ts index bc19f18f6e..ab439a5cc3 100644 --- a/src/sqltest/workbench/api/extHostModelView.test.ts +++ b/src/sql/workbench/test/electron-browser/api/extHostModelView.test.ts @@ -6,11 +6,11 @@ import * as assert from 'assert'; import { Mock, It, Times, MockBehavior } from 'typemoq'; import * as azdata from 'azdata'; -import { ExtHostModelView } from 'sql/workbench/api/node/extHostModelView'; -import { MainThreadModelViewShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostModelView } from 'sql/workbench/api/common/extHostModelView'; +import { MainThreadModelViewShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; import { IComponentShape, IItemConfig, ComponentEventType, IComponentEventArgs, ModelComponentTypes } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { TitledFormItemLayout } from 'sql/workbench/electron-browser/modelComponents/formContainer.component'; +import { TitledFormItemLayout } from 'sql/workbench/browser/modelComponents/formContainer.component'; interface InternalItemConfig { toIItemConfig(): IItemConfig; diff --git a/src/sqltest/workbench/api/extHostModelViewDialog.test.ts b/src/sql/workbench/test/electron-browser/api/extHostModelViewDialog.test.ts similarity index 99% rename from src/sqltest/workbench/api/extHostModelViewDialog.test.ts rename to src/sql/workbench/test/electron-browser/api/extHostModelViewDialog.test.ts index ee47de7e06..f1b4a9d360 100644 --- a/src/sqltest/workbench/api/extHostModelViewDialog.test.ts +++ b/src/sql/workbench/test/electron-browser/api/extHostModelViewDialog.test.ts @@ -6,8 +6,8 @@ import * as azdata from 'azdata'; import * as assert from 'assert'; import { Mock, It, Times } from 'typemoq'; -import { ExtHostModelViewDialog } from 'sql/workbench/api/node/extHostModelViewDialog'; -import { MainThreadModelViewDialogShape, ExtHostModelViewShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { ExtHostModelViewDialog } from 'sql/workbench/api/common/extHostModelViewDialog'; +import { MainThreadModelViewDialogShape, ExtHostModelViewShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; import { MessageLevel } from 'sql/workbench/api/common/sqlExtHostTypes'; diff --git a/src/sqltest/workbench/api/extHostObjectExplorer.test.ts b/src/sql/workbench/test/electron-browser/api/extHostObjectExplorer.test.ts similarity index 96% rename from src/sqltest/workbench/api/extHostObjectExplorer.test.ts rename to src/sql/workbench/test/electron-browser/api/extHostObjectExplorer.test.ts index f1f4ae12d3..07fbb4ab72 100644 --- a/src/sqltest/workbench/api/extHostObjectExplorer.test.ts +++ b/src/sql/workbench/test/electron-browser/api/extHostObjectExplorer.test.ts @@ -7,8 +7,8 @@ import * as azdata from 'azdata'; import * as assert from 'assert'; import * as TypeMoq from 'typemoq'; -import { MainThreadObjectExplorerShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; -import { ExtHostObjectExplorerNode } from 'sql/workbench/api/node/extHostObjectExplorer'; +import { MainThreadObjectExplorerShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; +import { ExtHostObjectExplorerNode } from 'sql/workbench/api/common/extHostObjectExplorer'; const nodes: { [nodeName: string]: azdata.NodeInfo } = { diff --git a/src/sqltest/workbench/api/exthostNotebook.test.ts b/src/sql/workbench/test/electron-browser/api/exthostNotebook.test.ts similarity index 96% rename from src/sqltest/workbench/api/exthostNotebook.test.ts rename to src/sql/workbench/test/electron-browser/api/exthostNotebook.test.ts index 1f8ed0e41a..b8078020d4 100644 --- a/src/sqltest/workbench/api/exthostNotebook.test.ts +++ b/src/sql/workbench/test/electron-browser/api/exthostNotebook.test.ts @@ -11,9 +11,9 @@ import * as TypeMoq from 'typemoq'; import { URI } from 'vs/base/common/uri'; import { IMainContext } from 'vs/workbench/api/common/extHost.protocol'; -import { ExtHostNotebook } from 'sql/workbench/api/node/extHostNotebook'; -import { MainThreadNotebookShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; -import * as testUtils from '../../utils/testUtils'; +import { ExtHostNotebook } from 'sql/workbench/api/common/extHostNotebook'; +import { MainThreadNotebookShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; +import * as testUtils from '../../../../../sqltest/utils/testUtils'; import { INotebookManagerDetails } from 'sql/workbench/api/common/sqlExtHostTypes'; import { mssqlProviderName } from 'sql/platform/connection/common/constants'; diff --git a/src/sqltest/workbench/api/mainThreadBackgroundTaskManagement.test.ts b/src/sql/workbench/test/electron-browser/api/mainThreadBackgroundTaskManagement.test.ts similarity index 99% rename from src/sqltest/workbench/api/mainThreadBackgroundTaskManagement.test.ts rename to src/sql/workbench/test/electron-browser/api/mainThreadBackgroundTaskManagement.test.ts index 656039a6a6..9b9d1235ce 100644 --- a/src/sqltest/workbench/api/mainThreadBackgroundTaskManagement.test.ts +++ b/src/sql/workbench/test/electron-browser/api/mainThreadBackgroundTaskManagement.test.ts @@ -6,11 +6,11 @@ import * as azdata from 'azdata'; import { Mock, It, Times } from 'typemoq'; import { MainThreadBackgroundTaskManagement, TaskStatus } from 'sql/workbench/api/browser/mainThreadBackgroundTaskManagement'; -import { ExtHostBackgroundTaskManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; import { ITaskService } from 'sql/platform/tasks/common/tasksService'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { TaskNode } from 'sql/platform/tasks/common/tasksNode'; import { Emitter } from 'vs/base/common/event'; +import { ExtHostBackgroundTaskManagementShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; suite('MainThreadBackgroundTaskManagement Tests', () => { let mainThreadBackgroundTaskManagement: MainThreadBackgroundTaskManagement; diff --git a/src/sqltest/workbench/api/mainThreadModelViewDialog.test.ts b/src/sql/workbench/test/electron-browser/api/mainThreadModelViewDialog.test.ts similarity index 97% rename from src/sqltest/workbench/api/mainThreadModelViewDialog.test.ts rename to src/sql/workbench/test/electron-browser/api/mainThreadModelViewDialog.test.ts index 694461c91b..54232ac64f 100644 --- a/src/sqltest/workbench/api/mainThreadModelViewDialog.test.ts +++ b/src/sql/workbench/test/electron-browser/api/mainThreadModelViewDialog.test.ts @@ -5,12 +5,12 @@ import * as assert from 'assert'; import { Mock, It, Times } from 'typemoq'; -import { MainThreadModelViewDialog } from 'sql/workbench/api/browser/mainThreadModelViewDialog'; +import { MainThreadModelViewDialog } from 'sql/workbench/api/electron-browser/mainThreadModelViewDialog'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; import { IModelViewButtonDetails, IModelViewTabDetails, IModelViewDialogDetails, IModelViewWizardPageDetails, IModelViewWizardDetails, DialogMessage, MessageLevel } from 'sql/workbench/api/common/sqlExtHostTypes'; -import { CustomDialogService } from 'sql/platform/dialog/customDialogService'; -import { Dialog, DialogTab, Wizard } from 'sql/platform/dialog/dialogTypes'; -import { ExtHostModelViewDialogShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; +import { CustomDialogService } from 'sql/platform/dialog/browser/customDialogService'; +import { Dialog, DialogTab, Wizard } from 'sql/platform/dialog/common/dialogTypes'; +import { ExtHostModelViewDialogShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; import { Emitter } from 'vs/base/common/event'; diff --git a/src/sqltest/workbench/api/mainThreadNotebook.test.ts b/src/sql/workbench/test/electron-browser/api/mainThreadNotebook.test.ts similarity index 97% rename from src/sqltest/workbench/api/mainThreadNotebook.test.ts rename to src/sql/workbench/test/electron-browser/api/mainThreadNotebook.test.ts index 94878a0451..7badfd16c7 100644 --- a/src/sqltest/workbench/api/mainThreadNotebook.test.ts +++ b/src/sql/workbench/test/electron-browser/api/mainThreadNotebook.test.ts @@ -6,19 +6,18 @@ import * as assert from 'assert'; import * as TypeMoq from 'typemoq'; import * as azdata from 'azdata'; -import * as vscode from 'vscode'; import { URI, UriComponents } from 'vs/base/common/uri'; import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol'; -import { ExtHostNotebookShape } from 'sql/workbench/api/node/sqlExtHost.protocol'; import { MainThreadNotebook } from 'sql/workbench/api/browser/mainThreadNotebook'; import { NotebookService } from 'sql/workbench/services/notebook/common/notebookServiceImpl'; import { INotebookProvider } from 'sql/workbench/services/notebook/common/notebookService'; import { INotebookManagerDetails, INotebookSessionDetails, INotebookKernelDetails, INotebookFutureDetails } from 'sql/workbench/api/common/sqlExtHostTypes'; import { LocalContentManager } from 'sql/workbench/services/notebook/node/localContentManager'; -import { ContextKeyServiceStub } from 'sqltest/stubs/contextKeyServiceStub'; import { TestLifecycleService } from 'vs/workbench/test/workbenchTestServices'; +import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService'; +import { ExtHostNotebookShape } from 'sql/workbench/api/common/sqlExtHost.protocol'; suite('MainThreadNotebook Tests', () => { @@ -33,7 +32,7 @@ suite('MainThreadNotebook Tests', () => { let extContext = { getProxy: proxyType => mockProxy.object }; - mockNotebookService = TypeMoq.Mock.ofType(NotebookService, undefined, new TestLifecycleService(), undefined, undefined, undefined, undefined, new ContextKeyServiceStub()); + mockNotebookService = TypeMoq.Mock.ofType(NotebookService, undefined, new TestLifecycleService(), undefined, undefined, undefined, undefined, new MockContextKeyService()); notebookUri = URI.parse('file:/user/default/my.ipynb'); mainThreadNotebook = new MainThreadNotebook(extContext, mockNotebookService.object); }); diff --git a/src/sqltest/parts/modelComponents/componentBase.test.ts b/src/sql/workbench/test/electron-browser/modalComponents/componentBase.test.ts similarity index 97% rename from src/sqltest/parts/modelComponents/componentBase.test.ts rename to src/sql/workbench/test/electron-browser/modalComponents/componentBase.test.ts index 358a9fb9c3..f75ba794bc 100644 --- a/src/sqltest/parts/modelComponents/componentBase.test.ts +++ b/src/sql/workbench/test/electron-browser/modalComponents/componentBase.test.ts @@ -4,9 +4,9 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; -import { ComponentBase, ContainerBase, ItemDescriptor } from 'sql/workbench/electron-browser/modelComponents/componentBase'; -import { IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/electron-browser/modelComponents/interfaces'; -import { ModelStore } from 'sql/workbench/electron-browser/modelComponents/modelStore'; +import { ComponentBase, ContainerBase, ItemDescriptor } from 'sql/workbench/browser/modelComponents/componentBase'; +import { IComponentDescriptor, IModelStore, ComponentEventType } from 'sql/workbench/browser/modelComponents/interfaces'; +import { ModelStore } from 'sql/workbench/browser/modelComponents/modelStore'; import { ChangeDetectorRef } from '@angular/core'; @@ -237,4 +237,4 @@ suite('ComponentBase Tests', () => { done(); }); -}); \ No newline at end of file +}); diff --git a/src/sqltest/parts/modelComponents/table.component.test.ts b/src/sql/workbench/test/electron-browser/modalComponents/table.component.test.ts similarity index 95% rename from src/sqltest/parts/modelComponents/table.component.test.ts rename to src/sql/workbench/test/electron-browser/modalComponents/table.component.test.ts index 8cdd193254..abaff34e51 100644 --- a/src/sqltest/parts/modelComponents/table.component.test.ts +++ b/src/sql/workbench/test/electron-browser/modalComponents/table.component.test.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; -import TableComponent from 'sql/workbench/electron-browser/modelComponents/table.component'; +import TableComponent from 'sql/workbench/browser/modelComponents/table.component'; suite('TableComponent Tests', () => { @@ -71,4 +71,4 @@ suite('TableComponent Tests', () => { ]; assert.deepEqual(actual, expected); }); -}); \ No newline at end of file +}); diff --git a/src/sqltest/services/connectionManagement/connectionManagementService.test.ts b/src/sqltest/services/connectionManagement/connectionManagementService.test.ts deleted file mode 100644 index e3b2a6923b..0000000000 --- a/src/sqltest/services/connectionManagement/connectionManagementService.test.ts +++ /dev/null @@ -1,83 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as assert from 'assert'; -import * as TypeMoq from 'typemoq'; -import { ConnectionManagementService } from 'sql/platform/connection/common/connectionManagementService'; -import { ConnectionStatusManager } from 'sql/platform/connection/common/connectionStatusManager'; -import { ConnectionStore } from 'sql/platform/connection/common/connectionStore'; -import { TestStorageService } from 'vs/workbench/test/workbenchTestServices'; -import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile'; -import { CapabilitiesTestService } from 'sqltest/stubs/capabilitiesTestService'; -import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup'; -import { integrated, mssqlProviderName } from 'sql/platform/connection/common/constants'; - -const capabilitiesService = new CapabilitiesTestService(); - -suite('ConnectionManagementService Tests:', () => { - test('getConnections test', () => { - const connectionStatusManagerMock = TypeMoq.Mock.ofType(ConnectionStatusManager, TypeMoq.MockBehavior.Loose); - const connectionStoreMock = TypeMoq.Mock.ofType(ConnectionStore, TypeMoq.MockBehavior.Loose, new TestStorageService()); - - connectionStatusManagerMock.setup(x => x.getActiveConnectionProfiles(undefined)).returns(() => { - return [createConnectionProfile('1'), createConnectionProfile('2')]; - }); - connectionStoreMock.setup(x => x.getRecentlyUsedConnections(undefined)).returns(() => { - return [createConnectionProfile('1'), createConnectionProfile('3')]; - }); - - const group1 = createConnectionGroup('group1'); - const group2 = createConnectionGroup('group2'); - group1.connections = [createConnectionProfile('1'), createConnectionProfile('4')]; - group1.children = [group2]; - group2.connections = [createConnectionProfile('5'), createConnectionProfile('6')]; - connectionStoreMock.setup(x => x.getConnectionProfileGroups(TypeMoq.It.isAny(), undefined)).returns(() => { - return [group1]; - }); - const connectionManagementService = new ConnectionManagementService(connectionStoreMock.object, connectionStatusManagerMock.object, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined); - - // dupe connections have been seeded the numbers below already reflected the de-duped results - - const verifyConnections = (actualConnections: ConnectionProfile[], expectedConnectionIds: string[], scenario: string) => { - assert.equal(actualConnections.length, expectedConnectionIds.length, 'incorrect number of connections returned, ' + scenario); - assert.deepEqual(actualConnections.map(conn => conn.id).sort(), expectedConnectionIds.sort(), 'connections do not match expectation, ' + scenario); - }; - - // no parameter - default to false - let connections = connectionManagementService.getConnections(); - verifyConnections(connections, ['1', '2', '3', '4', '5', '6'], 'no parameter provided'); - - // explicitly set to false - connections = connectionManagementService.getConnections(false); - verifyConnections(connections, ['1', '2', '3', '4', '5', '6'], 'parameter is false'); - - // active connections only - connections = connectionManagementService.getConnections(true); - verifyConnections(connections, ['1', '2'], 'parameter is true'); - }); -}); - -function createConnectionProfile(id: string): ConnectionProfile { - - return new ConnectionProfile(capabilitiesService, { - connectionName: 'newName', - savePassword: false, - groupFullName: 'testGroup', - serverName: 'testServerName', - databaseName: 'testDatabaseName', - authenticationType: integrated, - password: 'test', - userName: 'testUsername', - groupId: undefined, - providerName: mssqlProviderName, - options: {}, - saveProfile: true, - id: id - }); -} - -function createConnectionGroup(id: string): ConnectionProfileGroup { - return new ConnectionProfileGroup(id, undefined, id, undefined, undefined); -} diff --git a/src/sqltest/stubs/contextKeyServiceStub.ts b/src/sqltest/stubs/contextKeyServiceStub.ts deleted file mode 100644 index b4bc132950..0000000000 --- a/src/sqltest/stubs/contextKeyServiceStub.ts +++ /dev/null @@ -1,42 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - - -import { IContextKeyService, IContextKeyServiceTarget, IContextKey, ContextKeyExpr, IContext, IContextKeyChangeEvent } from 'vs/platform/contextkey/common/contextkey'; -import { Event } from 'vs/base/common/event'; - -export class ContextKeyServiceStub implements IContextKeyService { - _serviceBrand: any; - - dispose(): void { - // - } - - onDidChangeContext: Event; - - createKey(key: string, defaultValue: T): IContextKey { - return undefined; - } - - contextMatchesRules(rules: ContextKeyExpr): boolean { - return undefined; - } - - getContextKeyValue(key: string): T { - return undefined; - } - - createScoped(target?: IContextKeyServiceTarget): IContextKeyService { - return undefined; - } - - getContext(target: IContextKeyServiceTarget): IContext { - return undefined; - } - - bufferChangeEvents(callback: Function): void { - } - -} \ No newline at end of file diff --git a/src/sqltest/stubs/credentialsTestStubs.ts b/src/sqltest/stubs/credentialsTestStubs.ts deleted file mode 100644 index d93b776547..0000000000 --- a/src/sqltest/stubs/credentialsTestStubs.ts +++ /dev/null @@ -1,53 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as azdata from 'azdata'; -import { CredentialManagementEvents, ICredentialsService } from 'sql/platform/credentials/common/credentialsService'; -import { IDisposable } from 'vs/base/common/lifecycle'; - -export class CredentialsTestProvider implements azdata.CredentialProvider { - handle: number; - - public storedCredentials: { [K: string]: azdata.Credential } = {}; - - saveCredential(credentialId: string, password: string): Thenable { - this.storedCredentials[credentialId] = { - credentialId: credentialId, - password: password - }; - return Promise.resolve(true); - } - - readCredential(credentialId: string): Thenable { - return Promise.resolve(this.storedCredentials[credentialId]); - } - - deleteCredential(credentialId: string): Thenable { - let exists = this.storedCredentials[credentialId] !== undefined; - delete this.storedCredentials[credentialId]; - return Promise.resolve(exists); - } -} - -export class CredentialsTestService implements ICredentialsService { - _serviceBrand: any; - - saveCredential(credentialId: string, password: string): Promise { - return undefined; - } - - readCredential(credentialId: string): Promise { - return undefined; - } - - deleteCredential(credentialId: string): Promise { - return undefined; - } - - addEventListener(handle: number, events: CredentialManagementEvents): IDisposable { - return undefined; - } - -} diff --git a/src/sqltest/stubs/editorGroupService.ts b/src/sqltest/stubs/editorGroupService.ts deleted file mode 100644 index ccd14a7777..0000000000 --- a/src/sqltest/stubs/editorGroupService.ts +++ /dev/null @@ -1,230 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { ServiceIdentifier, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; -import { Event } from 'vs/base/common/event'; -import { IEditorOpeningEvent } from 'vs/workbench/browser/parts/editor/editor'; -import { IEditorInput, EditorInput, GroupIdentifier, IEditorPartOptions } from 'vs/workbench/common/editor'; -import { EditorGroup } from 'vs/workbench/common/editor/editorGroup'; -import { IEditorGroupsService, IFindGroupScope, IEditorGroup, GroupDirection, IAddGroupOptions, IMergeGroupOptions, GroupOrientation, GroupsOrder, GroupsArrangement, IMoveEditorOptions, EditorGroupLayout } from 'vs/workbench/services/editor/common/editorGroupsService'; -import { IDimension } from 'vs/editor/common/editorCommon'; -import { IDisposable } from 'vs/base/common/lifecycle'; - -export class EditorGroupTestService implements IEditorGroupsService { - getSize(group: number | IEditorGroup): { - width: number; height: number; /** - * Move an editor from this group either within this group or to another group. - */ } { - throw new Error('Method not implemented.'); - } - setSize(group: number | IEditorGroup, size: { width: number; height: number; }): void { - throw new Error('Method not implemented.'); - } - willRestoreEditors: boolean; - dimension: IDimension; - whenRestored: Promise; - centerLayout(active: boolean): void { - throw new Error('Method not implemented.'); - } - isLayoutCentered(): boolean { - throw new Error('Method not implemented.'); - } - partOptions: IEditorPartOptions; - enforcePartOptions(options: IEditorPartOptions): IDisposable { - throw new Error('Method not implemented.'); - } - _serviceBrand: ServiceIdentifier; - - findGroup(scope: IFindGroupScope, source?: IEditorGroup | GroupIdentifier, wrap?: boolean): IEditorGroup { - return undefined; - } - - addGroup(location: IEditorGroup | GroupIdentifier, direction: GroupDirection, options?: IAddGroupOptions): IEditorGroup { - return undefined; - } - - removeGroup(group: IEditorGroup | GroupIdentifier): void { - } - - mergeGroup(group: IEditorGroup | GroupIdentifier, target: IEditorGroup | GroupIdentifier, options?: IMergeGroupOptions): IEditorGroup { - return undefined; - } - - copyGroup(group: IEditorGroup | GroupIdentifier, location: IEditorGroup | GroupIdentifier, direction: GroupDirection): IEditorGroup { - return undefined; - } - - /** - * Emitted when editors or inputs change. Examples: opening, closing of editors. Active editor change. - */ - onEditorsChanged: Event; - - onEditorOpening: Event; - - onEditorGroupMoved: Event; - - onDidLayout: Event; - - /** - * An event for when the active editor group changes. The active editor - * group is the default location for new editors to open. - */ - readonly onDidActiveGroupChange: Event; - - onDidActivateGroup: Event; - - /** - * An event for when a new group was added. - */ - readonly onDidAddGroup: Event; - - /** - * An event for when a group was removed. - */ - readonly onDidRemoveGroup: Event; - - /** - * An event for when a group was moved. - */ - readonly onDidMoveGroup: Event; - - /** - * An active group is the default location for new editors to open. - */ - readonly activeGroup: IEditorGroup; - - /** - * All groups that are currently visible in the editor area in the - * order of their creation (oldest first). - */ - readonly groups: ReadonlyArray; - - /** - * The number of editor groups that are currently opened. - */ - readonly count: number; - - /** - * The current layout orientation of the root group. - */ - readonly orientation: GroupOrientation; - - /** - * Get all groups that are currently visible in the editor area optionally - * sorted by being most recent active or grid order. Will sort by creation - * time by default (oldest group first). - */ - getGroups(order?: GroupsOrder): ReadonlyArray { - return undefined; - } - - /** - * Allows to convert a group identifier to a group. - */ - getGroup(identifier: GroupIdentifier): IEditorGroup { - return undefined; - } - - invokeWithinEditorContext(fn: (accessor: ServicesAccessor) => T): T { - return undefined; - } - - /** - * Emitted when opening an editor fails. - */ - onEditorOpenFail: Event; - - /** - * Emitted when a editors are moved to another position. - */ - onEditorsMoved: Event; - - /** - * Emitted when the editor group orientation was changed. - */ - onGroupOrientationChanged: Event; - - /** - * Keyboard focus the editor group at the provided position. - */ - public focusGroup(group: EditorGroup): void; - public focusGroup(position: Position): void; - public focusGroup(arg1: any) { - return; - } - - /** - * Set a group as active. An active group is the default location for new editors to open. - */ - activateGroup(group: IEditorGroup | GroupIdentifier): IEditorGroup { - return undefined; - } - - /** - * Move a group to a new group in the editor area. - * - * @param group the group to move - * @param location the group from which to split to add the moved group - * @param direction the direction of where to split to - */ - moveGroup(group: IEditorGroup | GroupIdentifier, location: IEditorGroup | GroupIdentifier, direction: GroupDirection): IEditorGroup { - return undefined; - } - - /** - * Arrange all groups according to the provided arrangement. - */ - arrangeGroups(arrangement: GroupsArrangement): void { - - } - - /** - * Changes the editor group layout between vertical and horizontal orientation. Only applies - * if more than one editor is opened. - */ - setGroupOrientation(orientation: GroupOrientation): void { - - } - - /** - * Returns the current editor group layout. - */ - getGroupOrientation(): GroupOrientation { - return undefined; - } - - /** - * Move an editor from this group either within this group or to another group. - */ - moveEditor(editor: IEditorInput, target: IEditorGroup, options?: IMoveEditorOptions): void { - - } - - public pinEditor(group: EditorGroup, input: EditorInput): void; - public pinEditor(position: Position, input: EditorInput): void; - public pinEditor(arg1: any, input: EditorInput): void { - - } - - public unpinEditor(group: EditorGroup, input: EditorInput): void; - public unpinEditor(position: Position, input: EditorInput): void; - public unpinEditor(arg1: any, input: EditorInput): void { - - } - - /** - * Resize visible editor groups - */ - public resizeGroup(position: Position, groupSizeChange: number): void { - - } - - /** - * Applies the provided layout by either moving existing groups or creating new groups. - */ - applyLayout(layout: EditorGroupLayout): void { - } - -} diff --git a/src/sqltest/stubs/messageServiceStub.ts b/src/sqltest/stubs/messageServiceStub.ts deleted file mode 100644 index a3da8164f3..0000000000 --- a/src/sqltest/stubs/messageServiceStub.ts +++ /dev/null @@ -1,39 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -/* -import Severity from 'vs/base/common/severity'; -import { IConfirmation, IMessageService, IMessageWithAction, IConfirmationResult } from 'vs/platform/message/common/message'; - -export class MessageServiceStub implements IMessageService { - _serviceBrand: any; - - show(sev: Severity, message: string): () => void; - show(sev: Severity, message: Error): () => void; - show(sev: Severity, message: string[]): () => void; - show(sev: Severity, message: Error[]): () => void; - show(sev: Severity, message: IMessageWithAction): () => void; - show(sev: Severity, message): () => void { - return undefined; - } - - hideAll(): void { - return undefined; - } - - confirm(confirmation: IConfirmation): boolean { - return true; - } - - confirmSync(confirmation: IConfirmation): boolean { - return undefined; - } - - - confirmWithCheckbox(confirmation: IConfirmation): Promise { - return undefined; - } -} -*/ \ No newline at end of file diff --git a/src/sqltest/stubs/storageTestService.ts b/src/sqltest/stubs/storageTestService.ts deleted file mode 100644 index 4fb68245c4..0000000000 --- a/src/sqltest/stubs/storageTestService.ts +++ /dev/null @@ -1,97 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { IStorageService, StorageScope, IWorkspaceStorageChangeEvent, IWillSaveStateEvent } from 'vs/platform/storage/common/storage'; -import { Event } from 'vs/base/common/event'; - -export class StorageTestService implements IStorageService { - logStorage(): void { - - } - _serviceBrand: any; - - /** - * Emitted whenever data is updated or deleted. - */ - readonly onDidChangeStorage: Event; - - /** - * Emitted when the storage is about to persist. This is the right time - * to persist data to ensure it is stored before the application shuts - * down. - * - * The will save state event allows to optionally ask for the reason of - * saving the state, e.g. to find out if the state is saved due to a - * shutdown. - */ - readonly onWillSaveState: Event; - - /** - * Store a string value under the given key to local storage. - * - * The optional scope argument allows to define the scope of the operation. - */ - store(key: string, value: any, scope?: StorageScope): void { - - } - - /** - * Swap the value of a stored element to one of the two provided - * values and use the defaultValue if no element with the given key - * exists. - * - * The optional scope argument allows to define the scope of the operation. - */ - swap(key: string, valueA: any, valueB: any, scope?: StorageScope, defaultValue?: any): void { - - } - - /** - * Delete an element stored under the provided key from local storage. - * - * The optional scope argument allows to define the scope of the operation. - */ - remove(key: string, scope?: StorageScope): void { - - } - - /** - * Retrieve an element stored with the given key from local storage. Use - * the provided defaultValue if the element is null or undefined. - * - * The optional scope argument allows to define the scope of the operation. - */ - get(key: string, scope?: StorageScope, defaultValue?: string): string { - return undefined; - } - - getNumber(key: string, scope: StorageScope, fallbackValue: number): number; - getNumber(key: string, scope: StorageScope, fallbackValue?: number): number; - getNumber(key: any, scope: any, fallbackValue?: any): number { - return undefined; - } - - /** - * Retrieve an element stored with the given key from local storage. Use - * the provided defaultValue if the element is null or undefined. The element - * will be converted to a number using parseInt with a base of 10. - * - * The optional scope argument allows to define the scope of the operation. - */ - getInteger(key: string, scope?: StorageScope, defaultValue?: number): number { - return 0; - } - - /** - * Retrieve an element stored with the given key from local storage. Use - * the provided defaultValue if the element is null or undefined. The element - * will be converted to a boolean. - * - * The optional scope argument allows to define the scope of the operation. - */ - getBoolean(key: string, scope?: StorageScope, defaultValue?: boolean): boolean { - return true; - } -} diff --git a/src/sqltest/stubs/telemetryServiceStub.ts b/src/sqltest/stubs/telemetryServiceStub.ts deleted file mode 100644 index 041247e2db..0000000000 --- a/src/sqltest/stubs/telemetryServiceStub.ts +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -import { ITelemetryService, ITelemetryData, ITelemetryInfo } from 'vs/platform/telemetry/common/telemetry'; -import { ClassifiedEvent, GDPRClassification, StrictPropertyCheck } from 'vs/platform/telemetry/common/gdprTypings'; - -// Test stubs for commonly used objects - -export class TelemetryServiceStub implements ITelemetryService { - setEnabled(value: boolean): void { - // no op; - } - - _serviceBrand: any; - - /** - * Sends a telemetry event that has been privacy approved. - * Do not call this unless you have been given approval. - */ - publicLog(eventName: string, data?: ITelemetryData): Promise { - return undefined; - } - - publicLog2 = never, T extends GDPRClassification = never>(eventName: string, data?: StrictPropertyCheck, anonymizeFilePaths?: boolean): Promise { - return undefined; - } - - getTelemetryInfo(): Promise { - return undefined; - } - - isOptedIn: boolean; -} diff --git a/src/sqltest/stubs/themeTestService.ts b/src/sqltest/stubs/themeTestService.ts deleted file mode 100644 index 28d29c930e..0000000000 --- a/src/sqltest/stubs/themeTestService.ts +++ /dev/null @@ -1,47 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { IThemeService, ITheme, IThemingParticipant, IIconTheme } from 'vs/platform/theme/common/themeService'; -import { Color } from 'vs/base/common/color'; -import { IDisposable } from 'vs/base/common/lifecycle'; -import { ColorIdentifier } from 'vs/platform/theme/common/colorRegistry'; -import { Event } from 'vs/base/common/event'; - -export class TestTheme implements ITheme { - selector: string; - type: 'light' | 'dark' | 'hc'; - - getColor(color: string, useDefault?: boolean): Color { - return Color.white; - } - - isDefault(color: string): boolean { - throw new Error('Method not implemented.'); - } - - defines(color: ColorIdentifier): boolean { - throw new Error('Method not implemented.'); - } -} - -const testTheme = new TestTheme(); - -export class TestThemeService implements IThemeService { - - _serviceBrand: any; - onIconThemeChange = Event.None; - - getTheme(): ITheme { - return testTheme; - } - - onThemeChange(participant: IThemingParticipant): IDisposable { - return { dispose: () => { } }; - } - - getIconTheme(): IIconTheme { - return undefined; - } -} \ No newline at end of file diff --git a/src/sqltest/stubs/windowTestService.ts b/src/sqltest/stubs/windowTestService.ts deleted file mode 100644 index c6e83c164b..0000000000 --- a/src/sqltest/stubs/windowTestService.ts +++ /dev/null @@ -1,19 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as platform from 'vs/base/common/platform'; -import { IWindowConfiguration } from 'vs/platform/windows/common/windows'; -import { TestWindowService as vsTestWindowService } from 'vs/workbench/test/workbenchTestServices'; - -export class TestWindowService extends vsTestWindowService { - - constructor(private env: platform.IProcessEnvironment) { - super(); - } - - getConfiguration(): IWindowConfiguration { - return { userEnv: this.env } as IWindowConfiguration; - } -} \ No newline at end of file diff --git a/src/sqltest/stubs/workbenchEditorTestService.ts b/src/sqltest/stubs/workbenchEditorTestService.ts deleted file mode 100644 index abc94d2dc3..0000000000 --- a/src/sqltest/stubs/workbenchEditorTestService.ts +++ /dev/null @@ -1,112 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { IEditorService, SIDE_GROUP_TYPE, ACTIVE_GROUP_TYPE, IResourceEditor, IResourceEditorReplacement, IOpenEditorOverrideHandler } from 'vs/workbench/services/editor/common/editorService'; -import { ServiceIdentifier, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; -import { IEditorOptions, IResourceInput, ITextEditorOptions } from 'vs/platform/editor/common/editor'; -import { IEditor, IEditorInput, IResourceDiffInput, IResourceSideBySideInput, GroupIdentifier, ITextEditor, IUntitledResourceInput, ITextDiffEditor, ITextSideBySideEditor, IEditorInputWithOptions } from 'vs/workbench/common/editor'; -import { Event } from 'vs/base/common/event'; -import { Position } from 'vs/editor/common/core/position'; -import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; -import { IDisposable } from 'vs/base/common/lifecycle'; -import { IEditorGroup, IEditorReplacement } from 'vs/workbench/services/editor/common/editorGroupsService'; - -export class WorkbenchEditorTestService implements IEditorService { - _serviceBrand: ServiceIdentifier; - - readonly onDidActiveEditorChange: Event; - - readonly onDidVisibleEditorsChange: Event; - - readonly activeEditor: IEditorInput; - - readonly activeControl: IEditor; - - readonly activeTextEditorWidget: ICodeEditor; - - readonly visibleEditors: ReadonlyArray; - - readonly visibleControls: ReadonlyArray; - - readonly visibleTextEditorWidgets: ReadonlyArray; - - readonly editors: ReadonlyArray; - - - /** - * Returns iff the provided input is currently visible. - * - * @param includeDiff iff set to true, will also consider diff editors to find out if the provided - * input is opened either on the left or right hand side of the diff editor. - */ - isVisible(input: IEditorInput, includeDiff: boolean): boolean { - return undefined; - } - - public openEditor(editor: IEditorInput, options?: IEditorOptions | ITextEditorOptions, group?: IEditorGroup | GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE): Promise; - public openEditor(editor: IResourceInput | IUntitledResourceInput, group?: IEditorGroup | GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE): Promise; - public openEditor(editor: IResourceDiffInput, group?: IEditorGroup | GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE): Promise; - public openEditor(editor: IResourceSideBySideInput, group?: IEditorGroup | GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE): Promise; - public openEditor(input: any, arg2?: any, arg3?: any): Promise { - return undefined; - } - - public openEditors(editors: IEditorInputWithOptions[], group?: IEditorGroup | GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE): Promise>; - public openEditors(editors: IResourceEditor[], group?: IEditorGroup | GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE): Promise>; - public openEditors(editors: any[]): Promise { - return undefined; - } - - public replaceEditors(editors: IResourceEditorReplacement[], group: IEditorGroup | GroupIdentifier): Promise; - public replaceEditors(editors: IEditorReplacement[], group: IEditorGroup | GroupIdentifier): Promise; - public replaceEditors(editors: any[], group: any): Promise { - return undefined; - } - - /** - * Closes the editor at the provided position. - */ - closeEditor(position: Position, input: IEditorInput): Promise { - return undefined; - } - - /** - * Closes editors of a specific group at the provided position. If the optional editor is provided to exclude, it - * will not be closed. The direction can be used in that case to control if all other editors should get closed, - * or towards a specific direction. - */ - closeEditors(p1?: any, p2?: any, p3?: any): Promise { - return undefined; - } - - /** - * Closes all editors across all groups. The optional position allows to keep one group alive. - */ - closeAllEditors(except?: Position): Promise { - return undefined; - } - - - createInput(input: IResourceInput | IResourceDiffInput | IResourceSideBySideInput): IEditorInput { - return undefined; - } - - - isOpen(editor: IEditorInput | IResourceInput | IUntitledResourceInput, group?: IEditorGroup | GroupIdentifier): boolean { - return true; - } - - overrideOpenEditor(handler: IOpenEditorOverrideHandler): IDisposable { - return undefined; - } - - invokeWithinEditorContext(fn: (accessor: ServicesAccessor) => T): T { - return undefined; - } - - getOpened(editor: IResourceInput | IUntitledResourceInput, group?: IEditorGroup | GroupIdentifier): IEditorInput { - return undefined; - } -} diff --git a/src/sqltest/stubs/workspaceConfigurationTestService.ts b/src/sqltest/stubs/workspaceConfigurationTestService.ts deleted file mode 100644 index f5bd90f503..0000000000 --- a/src/sqltest/stubs/workspaceConfigurationTestService.ts +++ /dev/null @@ -1,65 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the Source EULA. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { IConfigurationData, IConfigurationOverrides, ConfigurationTarget, IConfigurationChangeEvent, IConfigurationService } from 'vs/platform/configuration/common/configuration'; - -import { Event } from 'vs/base/common/event'; -import { IWorkspaceFolder } from 'vs/platform/workspace/common/workspace'; - -export class WorkspaceConfigurationTestService implements IConfigurationService { - _serviceBrand: any; - - getValue(): T; - getValue(section: string): T; - getValue(overrides: IConfigurationOverrides): T; - getValue(section: string, overrides: IConfigurationOverrides): T; - getValue(arg1?: any, arg2?: any): any { - return Promise.resolve(null); - } - - onDidChangeConfiguration: Event; - - getConfigurationData(): IConfigurationData { return undefined; } - - getConfiguration(): T; - getConfiguration(section: string): T; - getConfiguration(overrides: IConfigurationOverrides): T; - getConfiguration(section: string, overrides: IConfigurationOverrides): T; - getConfiguration(arg1?: any, arg2?: any): any { - return Promise.resolve(null); - } - - updateValue(key: string, value: any): Promise; - updateValue(key: string, value: any, overrides: IConfigurationOverrides): Promise; - updateValue(key: string, value: any, target: ConfigurationTarget): Promise; - updateValue(key: string, value: any, overrides: IConfigurationOverrides, target: ConfigurationTarget): Promise; - updateValue(key: string, value: any, overrides: IConfigurationOverrides, target: ConfigurationTarget, donotNotifyError: boolean): Promise; - updateValue(key: string, value: any, arg3?: any, arg4?: any, donotNotifyError?: any): Promise { - return Promise.resolve(null); - } - - reloadConfiguration(folder?: IWorkspaceFolder, key?: string): Promise { - return Promise.resolve(null); - } - - inspect(key: string): { - default: T, - user: T, - workspace: T, - workspaceFolder: T, - memory?: T, - value: T, - } { return undefined; } - - keys(): { - default: string[]; - user: string[]; - workspace: string[]; - workspaceFolder: string[]; - memory?: string[]; - } { return undefined; } - - getUnsupportedWorkspaceKeys(): string[] { return undefined; } -} diff --git a/src/vs/workbench/common/editor/editorGroup.ts b/src/vs/workbench/common/editor/editorGroup.ts index 0187626630..557d6a63c8 100644 --- a/src/vs/workbench/common/editor/editorGroup.ts +++ b/src/vs/workbench/common/editor/editorGroup.ts @@ -17,7 +17,7 @@ import { coalesce } from 'vs/base/common/arrays'; import { QueryInput } from 'sql/workbench/parts/query/common/queryInput'; import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput'; import * as CustomInputConverter from 'sql/workbench/common/customInputConverter'; -import { NotebookInput } from 'sql/workbench/parts/notebook/notebookInput'; +import { NotebookInput } from 'sql/workbench/parts/notebook/node/notebookInput'; import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; import * as path from 'path'; import * as os from 'os'; diff --git a/src/vs/workbench/contrib/watermark/browser/watermark.ts b/src/vs/workbench/contrib/watermark/browser/watermark.ts index ad8e958936..45ad240c98 100644 --- a/src/vs/workbench/contrib/watermark/browser/watermark.ts +++ b/src/vs/workbench/contrib/watermark/browser/watermark.ts @@ -31,7 +31,7 @@ import { IDimension } from 'vs/platform/layout/browser/layoutService'; // {{SQL CARBON EDIT}} import { OpenDataExplorerViewletAction } from 'sql/workbench/parts/dataExplorer/browser/dataExplorer.contribution'; -import { NewNotebookAction } from 'sql/workbench/parts/notebook/notebookActions'; +import { NewNotebookAction } from 'sql/workbench/parts/notebook/electron-browser/notebookActions'; const $ = dom.$; diff --git a/src/vs/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts index 2595556a82..dd87d038e1 100644 --- a/src/vs/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts +++ b/src/vs/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts @@ -9,7 +9,7 @@ import { TelemetryOptOut } from './telemetryOptOut'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; // {{SQL CARBON EDIT}} - Add preview feature switch -import { EnablePreviewFeatures } from 'sql/workbench/electron-browser/enablePreviewFeatures'; +import { EnablePreviewFeatures } from 'sql/workbench/common/enablePreviewFeatures'; // {{SQL CARBON EDIT}} // Registry diff --git a/src/vs/workbench/workbench.main.ts b/src/vs/workbench/workbench.main.ts index 412c5d42fd..ff1e4ea829 100644 --- a/src/vs/workbench/workbench.main.ts +++ b/src/vs/workbench/workbench.main.ts @@ -194,7 +194,7 @@ import { QueryModelService } from 'sql/platform/query/common/queryModelService'; import { IQueryEditorService } from 'sql/workbench/services/queryEditor/common/queryEditorService'; import { QueryEditorService } from 'sql/workbench/services/queryEditor/browser/queryEditorService'; import { IQueryManagementService, QueryManagementService } from 'sql/platform/query/common/queryManagement'; -import { IEditorDescriptorService, EditorDescriptorService } from 'sql/workbench/services/queryEditor/common/editorDescriptorService'; +import { IEditorDescriptorService, EditorDescriptorService } from 'sql/workbench/services/queryEditor/browser/editorDescriptorService'; import { IScriptingService, ScriptingService } from 'sql/platform/scripting/common/scriptingService'; import { IAdminService, AdminService } from 'sql/workbench/services/admin/common/adminService'; import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces'; @@ -207,18 +207,18 @@ import { IBackupUiService } from 'sql/workbench/services/backup/common/backupUiS import { BackupUiService } from 'sql/workbench/services/backup/browser/backupUiService'; import { IRestoreDialogController, IRestoreService } from 'sql/platform/restore/common/restoreService'; import { RestoreService, RestoreDialogController } from 'sql/platform/restore/common/restoreServiceImpl'; -import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/common/newDashboardTabDialog'; +import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog'; import { NewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialogService'; import { IFileBrowserService } from 'sql/platform/fileBrowser/common/interfaces'; import { FileBrowserService } from 'sql/platform/fileBrowser/common/fileBrowserService'; import { IFileBrowserDialogController } from 'sql/workbench/services/fileBrowser/common/fileBrowserDialogController'; import { FileBrowserDialogController } from 'sql/workbench/services/fileBrowser/browser/fileBrowserDialogController'; -import { IInsightsDialogService } from 'sql/workbench/services/insights/common/insightsDialogService'; -import { InsightsDialogService } from 'sql/workbench/services/insights/browser/insightsDialogService'; +import { IInsightsDialogService } from 'sql/workbench/services/insights/browser/insightsDialogService'; +import { InsightsDialogService } from 'sql/workbench/services/insights/browser/insightsDialogServiceImpl'; import { IAccountManagementService } from 'sql/platform/accounts/common/interfaces'; import { AccountManagementService } from 'sql/workbench/services/accountManagement/browser/accountManagementService'; import { IProfilerService } from 'sql/workbench/services/profiler/common/interfaces'; -import { ProfilerService } from 'sql/workbench/services/profiler/common/profilerService'; +import { ProfilerService } from 'sql/workbench/services/profiler/browser/profilerService'; import { ISqlOAuthService } from 'sql/platform/oAuth/common/sqlOAuthService'; import { SqlOAuthService } from 'sql/platform/oAuth/electron-browser/sqlOAuthServiceImpl'; import { IClipboardService as sqlIClipboardService } from 'sql/platform/clipboard/common/clipboardService'; @@ -466,7 +466,7 @@ import 'sql/workbench/parts/dataExplorer/browser/dataExplorerViewlet'; import 'sql/workbench/parts/dataExplorer/browser/dataExplorerExtensionPoint'; import 'sql/workbench/parts/dataExplorer/electron-browser/nodeActions.contribution'; -import 'sql/platform/telemetry/telemetry.contribution'; +import 'sql/workbench/parts/telemetry/common/telemetry.contribution'; import 'sql/workbench/parts/connection/browser/connection.contribution'; // query editor @@ -488,37 +488,37 @@ import 'sql/workbench/parts/objectExplorer/common/serverGroup.contribution'; import 'sql/platform/accounts/browser/accountManagement.contribution'; // dashboard -import 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/barChart.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/doughnutChart.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/horizontalBarChart.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/lineChart.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/pieChart.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/scatterChart.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/charts/types/timeSeriesChart.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/countInsight.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/imageInsight.contribution'; -import 'sql/workbench/parts/dashboard/widgets/insights/views/tableInsight.contribution'; -import 'sql/workbench/parts/dashboard/dashboard.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/barChart.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/doughnutChart.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/horizontalBarChart.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/lineChart.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/pieChart.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/scatterChart.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/charts/types/timeSeriesChart.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/countInsight.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/imageInsight.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/views/tableInsight.contribution'; +import 'sql/workbench/parts/dashboard/browser/dashboard.contribution'; /* Tasks */ import 'sql/workbench/common/actions.contribution'; /* Widgets */ -import 'sql/workbench/parts/dashboard/widgets/insights/insightsWidget.contribution'; -import 'sql/workbench/parts/dashboard/widgets/explorer/explorerWidget.contribution'; -import 'sql/workbench/parts/dashboard/widgets/tasks/tasksWidget.contribution'; -import 'sql/workbench/parts/dashboard/widgets/webview/webviewWidget.contribution'; -import 'sql/workbench/parts/dashboard/dashboardConfig.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/insights/insightsWidget.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/explorer/explorerWidget.contribution'; +import 'sql/workbench/parts/dashboard/browser/widgets/tasks/tasksWidget.contribution'; +import 'sql/workbench/parts/dashboard/electron-browser/widgets/webview/webviewWidget.contribution'; +import 'sql/workbench/parts/dashboard/browser/dashboardConfig.contribution'; /* Model-based Views */ -import 'sql/workbench/electron-browser/modelComponents/components.contribution'; +import 'sql/workbench/browser/modelComponents/components.contribution'; /* View Model Editor */ -import 'sql/workbench/electron-browser/modelComponents/modelViewEditor.contribution'; +import 'sql/workbench/browser/modelComponents/modelViewEditor.contribution'; /* Notebook Editor */ -import 'sql/workbench/parts/notebook/notebook.contribution'; +import 'sql/workbench/parts/notebook/electron-browser/notebook.contribution'; /* Containers */ -import 'sql/workbench/parts/dashboard/containers/dashboardWebviewContainer.contribution'; -import 'sql/workbench/parts/dashboard/containers/dashboardControlHostContainer.contribution'; -import 'sql/workbench/parts/dashboard/containers/dashboardGridContainer.contribution'; -import 'sql/workbench/parts/dashboard/containers/dashboardWidgetContainer.contribution'; -import 'sql/workbench/parts/dashboard/containers/dashboardContainer.contribution'; -import 'sql/workbench/parts/dashboard/containers/dashboardNavSection.contribution'; -import 'sql/workbench/parts/dashboard/containers/dashboardModelViewContainer.contribution'; -import 'sql/workbench/parts/dashboard/common/dashboardTab.contribution'; +import 'sql/workbench/parts/dashboard/electron-browser/containers/dashboardWebviewContainer.contribution'; +import 'sql/workbench/parts/dashboard/browser/containers/dashboardControlHostContainer.contribution'; +import 'sql/workbench/parts/dashboard/browser/containers/dashboardGridContainer.contribution'; +import 'sql/workbench/parts/dashboard/browser/containers/dashboardWidgetContainer.contribution'; +import 'sql/workbench/parts/dashboard/browser/containers/dashboardContainer.contribution'; +import 'sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution'; +import 'sql/workbench/parts/dashboard/browser/containers/dashboardModelViewContainer.contribution'; +import 'sql/workbench/parts/dashboard/browser/core/dashboardTab.contribution'; diff --git a/tslint.json b/tslint.json index e511cca051..5833fd61ba 100644 --- a/tslint.json +++ b/tslint.json @@ -65,7 +65,9 @@ "restrictions": [ "vs/nls", "vs/css!./**/*", - "**/{vs,sql}/base/{common,browser}/**" + "**/{vs,sql}/base/{common,browser}/**", + "@angular/*", + "rxjs/*" ] }, { @@ -73,9 +75,7 @@ "restrictions": [ "vs/nls", "**/{vs,sql}/base/{common,browser,node}/**", - "*", // node modules - "@angular/*", // angular - "rxjs/*" // rxjs + "*" // node modules ] }, { @@ -85,7 +85,9 @@ "assert", "vs/nls", "**/{vs,sql}/base/{common,browser}/**", - "**/{vs,sql}/base/test/{common,browser}/**" + "**/{vs,sql}/base/test/{common,browser}/**", + "@angular/*", + "rxjs/*" ] }, { @@ -102,7 +104,9 @@ "vs/nls", "vs/css!./**/*", "**/{vs,sql}/base/{common,browser}/**", - "**/{vs,sql}/base/parts/*/{common,browser}/**" + "**/{vs,sql}/base/parts/*/{common,browser}/**", + "@angular/*", + "rxjs/*" ] }, { @@ -111,9 +115,7 @@ "vs/nls", "**/{vs,sql}/base/{common,browser,node}/**", "**/{vs,sql}/base/parts/*/{common,browser,node}/**", - "*", // node modules - "@angular/*", // angular - "rxjs/*" // rxjs + "*" // node modules ] }, { @@ -124,8 +126,8 @@ "**/{vs,sql}/base/{common,browser,node,electron-browser}/**", "**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**", "*", // node modules - "@angular/*", // angular - "rxjs/*" // rxjs + "@angular/*", + "rxjs/*" ] }, { @@ -135,8 +137,8 @@ "**/{vs,sql}/base/{common,browser,node,electron-main}/**", "**/{vs,sql}/base/parts/*/{common,browser,node,electron-main}/**", "*", // node modules - "@angular/*", // angular - "rxjs/*" // rxjs + "@angular/*", + "rxjs/*" ] } ],