From d08a224550b4156b23bc4edcecb26cf437f1e64e Mon Sep 17 00:00:00 2001 From: Amir Omidi Date: Mon, 8 Jun 2020 11:06:04 -0700 Subject: [PATCH] Fixes #10734, register a container for the view (#10750) * Fixes #10734, register a container for the view * Remove unused fields --- .../browser/accountDialog.ts | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/sql/workbench/services/accountManagement/browser/accountDialog.ts b/src/sql/workbench/services/accountManagement/browser/accountDialog.ts index 09ece24486..14cf57af1f 100644 --- a/src/sql/workbench/services/accountManagement/browser/accountDialog.ts +++ b/src/sql/workbench/services/accountManagement/browser/accountDialog.ts @@ -34,14 +34,29 @@ import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys'; import { ILogService } from 'vs/platform/log/common/log'; import { ITextResourcePropertiesService } from 'vs/editor/common/services/textResourceConfigurationService'; import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry'; -import { IViewPaneOptions, ViewPane } from 'vs/workbench/browser/parts/views/viewPaneContainer'; +import { IViewPaneOptions, ViewPane, ViewPaneContainer } from 'vs/workbench/browser/parts/views/viewPaneContainer'; import { attachModalDialogStyler, attachPanelStyler } from 'sql/workbench/common/styler'; -import { IViewDescriptorService } from 'vs/workbench/common/views'; +import { IViewDescriptorService, IViewsRegistry, Extensions as ViewContainerExtensions, IViewContainersRegistry, ViewContainerLocation } from 'vs/workbench/common/views'; import { IQuickInputService, IQuickPickItem } from 'vs/platform/quickinput/common/quickInput'; import { INotificationService } from 'vs/platform/notification/common/notification'; import { IOpenerService } from 'vs/platform/opener/common/opener'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ILayoutService } from 'vs/platform/layout/browser/layoutService'; +import { Registry } from 'vs/platform/registry/common/platform'; +import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; + +export const VIEWLET_ID = 'workbench.view.accountpanel'; + +export class AccountPaneContainer extends ViewPaneContainer { + +} + +export const ACCOUNT_VIEW_CONTAINER = Registry.as(ViewContainerExtensions.ViewContainersRegistry).registerViewContainer({ + id: VIEWLET_ID, + name: localize('accountExplorer.name', "Accounts"), + ctorDescriptor: new SyncDescriptor(AccountPaneContainer), + storageId: `${VIEWLET_ID}.state` +}, ViewContainerLocation.Sidebar); class AccountPanel extends ViewPane { public index: number; @@ -341,6 +356,12 @@ export class AccountDialog extends Modal { this.vstelemetryService ); + Registry.as(ViewContainerExtensions.ViewsRegistry).registerViews([{ + id: newProvider.addedProvider.id, + name: newProvider.addedProvider.displayName, + ctorDescriptor: new SyncDescriptor(AccountPanel), + }], ACCOUNT_VIEW_CONTAINER); + attachPanelStyler(providerView, this._themeService); const insertIndex = this._splitView.length;