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

Strict null work

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