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

Strict null work

上级 4573042a
......@@ -33,7 +33,7 @@ export class DataSource implements IDataSource {
hasChildren(tree: ITree, element: any): boolean {
const model = this.modelProvider.getModel();
return model && model === element && model.entries.length > 0;
return !!(model && model === element && model.entries.length > 0);
}
getChildren(tree: ITree, element: any): Promise<any[]> {
......
......@@ -1286,8 +1286,8 @@ export class TreeView extends HeightMap {
element = this.model!.getInput();
position = DOM.getDomNodePagePosition(this.inputItem.element);
} else {
let id = this.context.dataSource.getId(this.context.tree, element);
let viewItem = this.items[id];
const id = this.context.dataSource.getId(this.context.tree, element);
const viewItem = this.items[id!];
position = DOM.getDomNodePagePosition(viewItem.element);
}
......
......@@ -34,7 +34,7 @@ export interface ITemplateData {
ratings: HTMLElement;
author: HTMLElement;
description: HTMLElement;
extension: IExtension;
extension: IExtension | null;
disposables: IDisposable[];
extensionDisposables: IDisposable[];
actionbar: ActionBar;
......
......@@ -142,7 +142,7 @@ export class RatingsWidget extends ExtensionWidget {
export class RecommendationWidget extends ExtensionWidget {
private element: HTMLElement;
private element?: HTMLElement;
private disposables: IDisposable[] = [];
constructor(
......@@ -161,7 +161,7 @@ export class RecommendationWidget extends ExtensionWidget {
if (this.element) {
this.parent.removeChild(this.element);
}
this.element = null;
this.element = undefined;
this.disposables = dispose(this.disposables);
}
......@@ -232,6 +232,9 @@ export class RemoteBadgeWidget extends ExtensionWidget {
append(this.element, $('span.octicon.octicon-file-symlink-directory'));
const applyBadgeStyle = () => {
if (!this.element) {
return;
}
const bgColor = this.themeService.getTheme().getColor(STATUS_BAR_HOST_NAME_BACKGROUND);
const fgColor = this.workspaceContextService.getWorkbenchState() === WorkbenchState.EMPTY ? this.themeService.getTheme().getColor(STATUS_BAR_NO_FOLDER_FOREGROUND) : this.themeService.getTheme().getColor(STATUS_BAR_FOREGROUND);
this.element.style.backgroundColor = bgColor ? bgColor.toString() : '';
......@@ -241,7 +244,11 @@ export class RemoteBadgeWidget extends ExtensionWidget {
this.themeService.onThemeChange(applyBadgeStyle, this, this.disposables);
this.workspaceContextService.onDidChangeWorkbenchState(applyBadgeStyle, this, this.disposables);
const updateTitle = () => this.element.title = localize('remote extension title', "Extension in {0}", this.labelService.getHostLabel());
const updateTitle = () => {
if (this.element) {
this.element.title = localize('remote extension title', "Extension in {0}", this.labelService.getHostLabel());
}
};
this.labelService.onDidChangeFormatters(() => updateTitle(), this, this.disposables);
updateTitle();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册