提交 88217ad4 编写于 作者: S Sandeep Somavarapu

Remove extensions knowledge fro viewlet service

上级 5290fc4d
......@@ -4,14 +4,13 @@
*--------------------------------------------------------------------------------------------*/
'use strict';
import { TPromise, ValueCallback } from 'vs/base/common/winjs.base';
import { TPromise } from 'vs/base/common/winjs.base';
import { IViewlet } from 'vs/workbench/common/viewlet';
import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
import { Event, Emitter } from 'vs/base/common/event';
import { SidebarPart } from 'vs/workbench/browser/parts/sidebar/sidebarPart';
import { Registry } from 'vs/platform/registry/common/platform';
import { ViewletDescriptor, ViewletRegistry, Extensions as ViewletExtensions } from 'vs/workbench/browser/viewlet';
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
import { IProgressService } from 'vs/platform/progress/common/progress';
import { IContextKeyService, RawContextKey, IContextKey } from 'vs/platform/contextkey/common/contextkey';
import { dispose, IDisposable } from 'vs/base/common/lifecycle';
......@@ -26,9 +25,7 @@ export class ViewletService implements IViewletService {
private sidebarPart: SidebarPart;
private viewletRegistry: ViewletRegistry;
private extensionViewlets: ViewletDescriptor[];
private extensionViewletsLoaded: TPromise<void>;
private extensionViewletsLoadedPromiseComplete: ValueCallback;
private activeViewletContextKey: IContextKey<string>;
private _onDidViewletEnable = new Emitter<{ id: string, enabled: boolean }>();
private disposables: IDisposable[] = [];
......@@ -40,7 +37,6 @@ export class ViewletService implements IViewletService {
constructor(
sidebarPart: SidebarPart,
@IExtensionService private extensionService: IExtensionService,
@IContextKeyService contextKeyService: IContextKeyService
) {
this.sidebarPart = sidebarPart;
......@@ -50,8 +46,6 @@ export class ViewletService implements IViewletService {
this.onDidViewletOpen(this._onDidViewletOpen, this, this.disposables);
this.onDidViewletClose(this._onDidViewletClose, this, this.disposables);
this.loadExtensionViewlets();
}
private _onDidViewletOpen(viewlet: IViewlet): void {
......@@ -66,25 +60,6 @@ export class ViewletService implements IViewletService {
}
}
private loadExtensionViewlets(): void {
this.extensionViewlets = [];
this.extensionViewletsLoaded = new TPromise<void>(c => {
this.extensionViewletsLoadedPromiseComplete = c;
});
this.extensionService.whenInstalledExtensionsRegistered().then(() => {
const viewlets = this.viewletRegistry.getViewlets();
viewlets.forEach(v => {
if (!!v.extensionId) {
this.extensionViewlets.push(v);
}
});
this.extensionViewletsLoadedPromiseComplete(void 0);
});
}
public setViewletEnablement(id: string, enabled: boolean): void {
const descriptor = this.getBuiltInViewlets().filter(desc => desc.id === id).pop();
if (descriptor && descriptor.enabled !== enabled) {
......@@ -118,15 +93,12 @@ export class ViewletService implements IViewletService {
}
public getViewlets(): ViewletDescriptor[] {
const builtInViewlets = this.getBuiltInViewlets();
const viewlets = builtInViewlets.concat(this.extensionViewlets);
return viewlets.filter(v => v.enabled);
return this.getBuiltInViewlets()
.filter(v => v.enabled);
}
private getBuiltInViewlets(): ViewletDescriptor[] {
return this.viewletRegistry.getViewlets()
.filter(viewlet => !viewlet.extensionId)
.sort((v1, v2) => v1.order - v2.order);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册