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

Strict null work

上级 597e6dc4
......@@ -200,8 +200,8 @@ export class BreadcrumbsWidget {
return this._items[this._focusedItemIdx];
}
setFocused(item: BreadcrumbsItem, payload?: any): void {
this._focus(this._items.indexOf(item), payload);
setFocused(item: BreadcrumbsItem | undefined, payload?: any): void {
this._focus(this._items.indexOf(item!), payload);
}
focusPrev(payload?: any): any {
......@@ -256,8 +256,8 @@ export class BreadcrumbsWidget {
return this._items[this._selectedItemIdx];
}
setSelection(item: BreadcrumbsItem, payload?: any): void {
this._select(this._items.indexOf(item), payload);
setSelection(item: BreadcrumbsItem | undefined, payload?: any): void {
this._select(this._items.indexOf(item!), payload);
}
private _select(nth: number, payload: any): void {
......
......@@ -213,7 +213,7 @@ class SwitchSideBarViewAction extends Action {
if (!activeViewlet) {
return Promise.resolve();
}
let targetViewletId: string;
let targetViewletId: string | undefined;
for (let i = 0; i < pinnedViewletIds.length; i++) {
if (pinnedViewletIds[i] === activeViewlet.getId()) {
targetViewletId = pinnedViewletIds[(i + pinnedViewletIds.length + offset) % pinnedViewletIds.length];
......
......@@ -260,9 +260,12 @@ export class BreadcrumbsControl {
return true;
}
private _getActiveCodeEditor(): ICodeEditor {
private _getActiveCodeEditor(): ICodeEditor | undefined {
if (!this._editorGroup.activeControl) {
return undefined;
}
let control = this._editorGroup.activeControl.getControl();
let editor: ICodeEditor;
let editor: ICodeEditor | undefined;
if (isCodeEditor(control)) {
editor = control as ICodeEditor;
} else if (isDiffEditor(control)) {
......@@ -313,7 +316,7 @@ export class BreadcrumbsControl {
let picker: BreadcrumbsPicker;
let editor = this._getActiveCodeEditor();
let editorDecorations: string[] = [];
let editorViewState: ICodeEditorViewState;
let editorViewState: ICodeEditorViewState | undefined;
this._contextViewService.showContextView({
render: (parent: HTMLElement) => {
......@@ -336,7 +339,7 @@ export class BreadcrumbsControl {
return;
}
if (!editorViewState) {
editorViewState = editor.saveViewState();
editorViewState = editor.saveViewState() || undefined;
}
const { symbol } = data.target;
editor.revealRangeInCenter(symbol.range, ScrollType.Smooth);
......@@ -538,7 +541,11 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
handler(accessor) {
const groups = accessor.get(IEditorGroupsService);
const breadcrumbs = accessor.get(IBreadcrumbsService);
breadcrumbs.getWidget(groups.activeGroup.id).focusNext();
const widget = breadcrumbs.getWidget(groups.activeGroup.id);
if (!widget) {
return;
}
widget.focusNext();
}
});
KeybindingsRegistry.registerCommandAndKeybindingRule({
......@@ -554,7 +561,11 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
handler(accessor) {
const groups = accessor.get(IEditorGroupsService);
const breadcrumbs = accessor.get(IBreadcrumbsService);
breadcrumbs.getWidget(groups.activeGroup.id).focusPrev();
const widget = breadcrumbs.getWidget(groups.activeGroup.id);
if (!widget) {
return;
}
widget.focusPrev();
}
});
KeybindingsRegistry.registerCommandAndKeybindingRule({
......@@ -567,6 +578,9 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
const groups = accessor.get(IEditorGroupsService);
const breadcrumbs = accessor.get(IBreadcrumbsService);
const widget = breadcrumbs.getWidget(groups.activeGroup.id);
if (!widget) {
return;
}
widget.setSelection(widget.getFocused(), BreadcrumbsControl.Payload_Pick);
}
});
......@@ -580,6 +594,9 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
const groups = accessor.get(IEditorGroupsService);
const breadcrumbs = accessor.get(IBreadcrumbsService);
const widget = breadcrumbs.getWidget(groups.activeGroup.id);
if (!widget) {
return;
}
widget.setSelection(widget.getFocused(), BreadcrumbsControl.Payload_Reveal);
}
});
......@@ -591,8 +608,12 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
handler(accessor) {
const groups = accessor.get(IEditorGroupsService);
const breadcrumbs = accessor.get(IBreadcrumbsService);
breadcrumbs.getWidget(groups.activeGroup.id).setFocused(undefined);
breadcrumbs.getWidget(groups.activeGroup.id).setSelection(undefined);
const widget = breadcrumbs.getWidget(groups.activeGroup.id);
if (!widget) {
return;
}
widget.setFocused(undefined);
widget.setSelection(undefined);
groups.activeGroup.activeControl.focus();
}
});
......
......@@ -579,7 +579,7 @@ export class CloseLeftEditorsInGroupAction extends Action {
}
}
function getTarget(editorService: IEditorService, editorGroupService: IEditorGroupsService, context?: IEditorIdentifier): { editor: IEditorInput, group: IEditorGroup } {
function getTarget(editorService: IEditorService, editorGroupService: IEditorGroupsService, context?: IEditorIdentifier): { editor: IEditorInput | null, group: IEditorGroup } {
if (context) {
return { editor: context.editor, group: editorGroupService.getGroup(context.groupId) };
}
......
......@@ -389,7 +389,7 @@ export class MarkersPanel extends Panel implements IMarkerFilterController {
}));
this._register(Event.any<any>(this.tree.onDidChangeSelection, this.tree.onDidChangeFocus)(() => {
const elements: TreeElement[] = [...this.tree.getSelection(), ...this.tree.getFocus()];
const elements = [...this.tree.getSelection(), ...this.tree.getFocus()];
for (const element of elements) {
if (element instanceof Marker) {
const viewModel = this.markersViewModel.getViewModel(element);
......@@ -467,14 +467,15 @@ export class MarkersPanel extends Panel implements IMarkerFilterController {
}
private isCurrentResourceGotAddedToMarkersData(changedResources: URI[]) {
if (!this.currentActiveResource) {
const currentlyActiveResource = this.currentActiveResource;
if (!currentlyActiveResource) {
return false;
}
const resourceForCurrentActiveResource = this.getResourceForCurrentActiveResource();
if (resourceForCurrentActiveResource) {
return false;
}
return changedResources.some(r => r.toString() === this.currentActiveResource.toString());
return changedResources.some(r => r.toString() === currentlyActiveResource.toString());
}
private onActiveEditorChanged(): void {
......@@ -484,7 +485,7 @@ export class MarkersPanel extends Panel implements IMarkerFilterController {
private setCurrentActiveEditor(): void {
const activeEditor = this.editorService.activeEditor;
this.currentActiveResource = activeEditor ? activeEditor.getResource() : undefined;
this.currentActiveResource = activeEditor ? activeEditor.getResource() : null;
}
private onSelected(): void {
......@@ -694,7 +695,7 @@ export class MarkersPanel extends Panel implements IMarkerFilterController {
return this.tree.getFocus()[0];
}
public getActionItem(action: IAction): IActionItem {
public getActionItem(action: IAction): IActionItem | null {
if (action.id === MarkersFilterAction.ID) {
this.filterInputActionItem = this.instantiationService.createInstance(MarkersFilterActionItem, this.filterAction, this);
return this.filterInputActionItem;
......
......@@ -128,7 +128,7 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
const args = repository.provider.acceptInputCommand.arguments;
const commandService = accessor.get(ICommandService);
return commandService.executeCommand(id, ...args);
return commandService.executeCommand(id, ...(args || []));
}
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册