提交 e053ead5 编写于 作者: M Matt Bierner

Strict null check sidebarPart

上级 a86c0330
......@@ -548,6 +548,7 @@
"./vs/workbench/browser/parts/quickinput/quickInputBox.ts",
"./vs/workbench/browser/parts/quickinput/quickInputUtils.ts",
"./vs/workbench/browser/parts/quickopen/quickopen.ts",
"./vs/workbench/browser/parts/sidebar/sidebarPart.ts",
"./vs/workbench/browser/parts/statusbar/statusbar.ts",
"./vs/workbench/browser/parts/statusbar/statusbarPart.ts",
"./vs/workbench/browser/parts/views/panelViewlet.ts",
......
......@@ -175,7 +175,7 @@ export class SidebarPart extends CompositePart<Viewlet> implements IViewletServi
}
}
openViewlet(id: string, focus?: boolean): Promise<IViewlet> {
openViewlet(id: string, focus?: boolean): Promise<IViewlet | null> {
if (this.getViewlet(id)) {
return Promise.resolve(this.doOpenViewlet(id, focus));
}
......@@ -195,7 +195,7 @@ export class SidebarPart extends CompositePart<Viewlet> implements IViewletServi
getAllViewlets(): ViewletDescriptor[] {
return this.viewletRegistry.getViewlets()
.sort((v1, v2) => v1.order - v2.order);
.sort((v1, v2) => v1.order! - v2.order!);
}
getDefaultViewletId(): string {
......@@ -206,7 +206,7 @@ export class SidebarPart extends CompositePart<Viewlet> implements IViewletServi
return this.getViewlets().filter(viewlet => viewlet.id === id)[0];
}
private doOpenViewlet(id: string, focus?: boolean): Viewlet {
private doOpenViewlet(id: string, focus?: boolean): Viewlet | null {
if (this.blockOpeningViewlet) {
return null; // Workaround against a potential race condition
}
......
......@@ -768,7 +768,8 @@ export abstract class BaseNavigationAction extends Action {
const activeViewletId = this.viewletService.getActiveViewlet().getId();
return this.viewletService.openViewlet(activeViewletId, true);
return this.viewletService.openViewlet(activeViewletId, true)
.then(value => value === null ? false : value);
}
protected navigateAcrossEditorGroup(direction: GroupDirection): boolean {
......
......@@ -22,7 +22,7 @@ export interface IViewletService {
/**
* Opens a viewlet with the given identifier and pass keyboard focus to it if specified.
*/
openViewlet(id: string, focus?: boolean): Promise<IViewlet>;
openViewlet(id: string, focus?: boolean): Promise<IViewlet | null>;
/**
* Returns the current active viewlet or null if none.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册