提交 fe5fbc2d 编写于 作者: S Sandeep Somavarapu

#53526 Migrate away from TPromise in views land

上级 11194a18
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { TPromise } from 'vs/base/common/winjs.base';
import { Disposable } from 'vs/base/common/lifecycle'; import { Disposable } from 'vs/base/common/lifecycle';
import { ExtHostContext, MainThreadTreeViewsShape, ExtHostTreeViewsShape, MainContext, IExtHostContext } from '../node/extHost.protocol'; import { ExtHostContext, MainThreadTreeViewsShape, ExtHostTreeViewsShape, MainContext, IExtHostContext } from '../node/extHost.protocol';
import { ITreeViewDataProvider, ITreeItem, IViewsService, ITreeViewer, ViewsRegistry, ICustomViewDescriptor, IRevealOptions } from 'vs/workbench/common/views'; import { ITreeViewDataProvider, ITreeItem, IViewsService, ITreeViewer, ViewsRegistry, ICustomViewDescriptor, IRevealOptions } from 'vs/workbench/common/views';
...@@ -59,7 +58,7 @@ export class MainThreadTreeViews extends Disposable implements MainThreadTreeVie ...@@ -59,7 +58,7 @@ export class MainThreadTreeViews extends Disposable implements MainThreadTreeVie
return null; return null;
} }
private async reveal(treeViewer: ITreeViewer, dataProvider: TreeViewDataProvider, item: ITreeItem, parentChain: ITreeItem[], options: IRevealOptions): TPromise<void> { private async reveal(treeViewer: ITreeViewer, dataProvider: TreeViewDataProvider, item: ITreeItem, parentChain: ITreeItem[], options: IRevealOptions): Promise<void> {
options = options ? options : { select: false, focus: false }; options = options ? options : { select: false, focus: false };
const select = isUndefinedOrNull(options.select) ? false : options.select; const select = isUndefinedOrNull(options.select) ? false : options.select;
const focus = isUndefinedOrNull(options.focus) ? false : options.focus; const focus = isUndefinedOrNull(options.focus) ? false : options.focus;
...@@ -131,17 +130,14 @@ class TreeViewDataProvider implements ITreeViewDataProvider { ...@@ -131,17 +130,14 @@ class TreeViewDataProvider implements ITreeViewDataProvider {
) { ) {
} }
getChildren(treeItem?: ITreeItem): TPromise<ITreeItem[]> { getChildren(treeItem?: ITreeItem): Promise<ITreeItem[]> {
if (treeItem && treeItem.children) { return Promise.resolve(this._proxy.$getChildren(this.treeViewId, treeItem ? treeItem.handle : void 0)
return TPromise.as(treeItem.children); .then(
} children => this.postGetChildren(children),
return TPromise.wrap(this._proxy.$getChildren(this.treeViewId, treeItem ? treeItem.handle : void 0) err => {
.then(children => { this.notificationService.error(err);
return this.postGetChildren(children); return [];
}, err => { }));
this.notificationService.error(err);
return [];
}));
} }
getItemsToRefresh(itemsToRefreshByHandle: { [treeItemHandle: string]: ITreeItem }): ITreeItem[] { getItemsToRefresh(itemsToRefreshByHandle: { [treeItemHandle: string]: ITreeItem }): ITreeItem[] {
......
...@@ -7,7 +7,6 @@ import 'vs/css!./media/views'; ...@@ -7,7 +7,6 @@ import 'vs/css!./media/views';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
import { IDisposable, dispose, Disposable, toDisposable } from 'vs/base/common/lifecycle'; import { IDisposable, dispose, Disposable, toDisposable } from 'vs/base/common/lifecycle';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { TPromise } from 'vs/base/common/winjs.base';
import { IAction, IActionItem, ActionRunner, Action } from 'vs/base/common/actions'; import { IAction, IActionItem, ActionRunner, Action } from 'vs/base/common/actions';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
...@@ -238,7 +237,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer { ...@@ -238,7 +237,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer {
set dataProvider(dataProvider: ITreeViewDataProvider) { set dataProvider(dataProvider: ITreeViewDataProvider) {
if (dataProvider) { if (dataProvider) {
this._dataProvider = new class implements ITreeViewDataProvider { this._dataProvider = new class implements ITreeViewDataProvider {
getChildren(node?: ITreeItem): TPromise<ITreeItem[]> { getChildren(node?: ITreeItem): Promise<ITreeItem[]> {
if (node && node.children) { if (node && node.children) {
return Promise.resolve(node.children); return Promise.resolve(node.children);
} }
...@@ -394,7 +393,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer { ...@@ -394,7 +393,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer {
return 0; return 0;
} }
refresh(elements?: ITreeItem[]): TPromise<void> { refresh(elements?: ITreeItem[]): Promise<void> {
if (this.dataProvider && this.tree) { if (this.dataProvider && this.tree) {
elements = elements || [this.root]; elements = elements || [this.root];
for (const element of elements) { for (const element of elements) {
...@@ -409,7 +408,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer { ...@@ -409,7 +408,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer {
return Promise.resolve(null); return Promise.resolve(null);
} }
expand(itemOrItems: ITreeItem | ITreeItem[]): TPromise<void> { expand(itemOrItems: ITreeItem | ITreeItem[]): Thenable<void> {
itemOrItems = Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems]; itemOrItems = Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems];
return this.tree.expandAll(itemOrItems); return this.tree.expandAll(itemOrItems);
} }
...@@ -423,7 +422,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer { ...@@ -423,7 +422,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer {
this.tree.setFocus(item); this.tree.setFocus(item);
} }
reveal(item: ITreeItem): TPromise<void> { reveal(item: ITreeItem): Thenable<void> {
return this.tree.reveal(item); return this.tree.reveal(item);
} }
...@@ -441,7 +440,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer { ...@@ -441,7 +440,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer {
} }
} }
private doRefresh(elements: ITreeItem[]): TPromise<void> { private doRefresh(elements: ITreeItem[]): Promise<void> {
if (this.tree) { if (this.tree) {
return Promise.all(elements.map(e => this.tree.refresh(e))).then(() => null); return Promise.all(elements.map(e => this.tree.refresh(e))).then(() => null);
} }
...@@ -484,7 +483,7 @@ class TreeDataSource implements IDataSource { ...@@ -484,7 +483,7 @@ class TreeDataSource implements IDataSource {
return this.treeView.dataProvider && node.collapsibleState !== TreeItemCollapsibleState.None; return this.treeView.dataProvider && node.collapsibleState !== TreeItemCollapsibleState.None;
} }
getChildren(tree: ITree, node: ITreeItem): TPromise<any[]> { getChildren(tree: ITree, node: ITreeItem): Promise<any[]> {
if (this.treeView.dataProvider) { if (this.treeView.dataProvider) {
return this.progressService.withProgress({ location: this.container.id }, () => this.treeView.dataProvider.getChildren(node)); return this.progressService.withProgress({ location: this.container.id }, () => this.treeView.dataProvider.getChildren(node));
} }
...@@ -495,7 +494,7 @@ class TreeDataSource implements IDataSource { ...@@ -495,7 +494,7 @@ class TreeDataSource implements IDataSource {
return node.collapsibleState === TreeItemCollapsibleState.Expanded; return node.collapsibleState === TreeItemCollapsibleState.Expanded;
} }
getParent(tree: ITree, node: any): TPromise<any> { getParent(tree: ITree, node: any): Promise<any> {
return Promise.resolve(null); return Promise.resolve(null);
} }
} }
...@@ -721,7 +720,7 @@ class MultipleSelectionActionRunner extends ActionRunner { ...@@ -721,7 +720,7 @@ class MultipleSelectionActionRunner extends ActionRunner {
super(); super();
} }
runAction(action: IAction, context: any): TPromise<any> { runAction(action: IAction, context: any): Thenable<any> {
if (action instanceof MenuItemAction) { if (action instanceof MenuItemAction) {
const selection = this.getSelectedResources(); const selection = this.getSelectedResources();
const filteredSelection = selection.filter(s => s !== context); const filteredSelection = selection.filter(s => s !== context);
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
import 'vs/css!./media/views'; import 'vs/css!./media/views';
import { Disposable } from 'vs/base/common/lifecycle'; import { Disposable } from 'vs/base/common/lifecycle';
import { TPromise } from 'vs/base/common/winjs.base';
import { IViewsService, ViewsRegistry, IViewsViewlet, ViewContainer, IViewDescriptor, IViewContainersRegistry, Extensions as ViewContainerExtensions, TEST_VIEW_CONTAINER_ID, IView, IViewDescriptorCollection } from 'vs/workbench/common/views'; import { IViewsService, ViewsRegistry, IViewsViewlet, ViewContainer, IViewDescriptor, IViewContainersRegistry, Extensions as ViewContainerExtensions, TEST_VIEW_CONTAINER_ID, IView, IViewDescriptorCollection } from 'vs/workbench/common/views';
import { Registry } from 'vs/platform/registry/common/platform'; import { Registry } from 'vs/platform/registry/common/platform';
import { ViewletRegistry, Extensions as ViewletExtensions } from 'vs/workbench/browser/viewlet'; import { ViewletRegistry, Extensions as ViewletExtensions } from 'vs/workbench/browser/viewlet';
...@@ -541,7 +540,7 @@ export class ViewsService extends Disposable implements IViewsService { ...@@ -541,7 +540,7 @@ export class ViewsService extends Disposable implements IViewsService {
return this.viewDescriptorCollections.get(container); return this.viewDescriptorCollections.get(container);
} }
openView(id: string, focus: boolean): TPromise<IView> { openView(id: string, focus: boolean): Thenable<IView> {
const viewDescriptor = ViewsRegistry.getView(id); const viewDescriptor = ViewsRegistry.getView(id);
if (viewDescriptor) { if (viewDescriptor) {
const viewletDescriptor = this.viewletService.getViewlet(viewDescriptor.container.id); const viewletDescriptor = this.viewletService.getViewlet(viewDescriptor.container.id);
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { TPromise } from 'vs/base/common/winjs.base';
import { Command } from 'vs/editor/common/modes'; import { Command } from 'vs/editor/common/modes';
import { UriComponents } from 'vs/base/common/uri'; import { UriComponents } from 'vs/base/common/uri';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
...@@ -228,7 +227,7 @@ export const IViewsService = createDecorator<IViewsService>('viewsService'); ...@@ -228,7 +227,7 @@ export const IViewsService = createDecorator<IViewsService>('viewsService');
export interface IViewsService { export interface IViewsService {
_serviceBrand: any; _serviceBrand: any;
openView(id: string, focus?: boolean): TPromise<IView>; openView(id: string, focus?: boolean): Thenable<IView>;
getViewDescriptors(container: ViewContainer): IViewDescriptorCollection; getViewDescriptors(container: ViewContainer): IViewDescriptorCollection;
} }
...@@ -253,7 +252,7 @@ export interface ITreeViewer extends IDisposable { ...@@ -253,7 +252,7 @@ export interface ITreeViewer extends IDisposable {
readonly onDidChangeActions: Event<void>; readonly onDidChangeActions: Event<void>;
refresh(treeItems?: ITreeItem[]): TPromise<void>; refresh(treeItems?: ITreeItem[]): Promise<void>;
setVisibility(visible: boolean): void; setVisibility(visible: boolean): void;
...@@ -265,9 +264,9 @@ export interface ITreeViewer extends IDisposable { ...@@ -265,9 +264,9 @@ export interface ITreeViewer extends IDisposable {
getOptimalWidth(): number; getOptimalWidth(): number;
reveal(item: ITreeItem): TPromise<void>; reveal(item: ITreeItem): Thenable<void>;
expand(itemOrItems: ITreeItem | ITreeItem[]): TPromise<void>; expand(itemOrItems: ITreeItem | ITreeItem[]): Thenable<void>;
setSelection(items: ITreeItem[]): void; setSelection(items: ITreeItem[]): void;
...@@ -342,6 +341,6 @@ export interface ITreeItem { ...@@ -342,6 +341,6 @@ export interface ITreeItem {
export interface ITreeViewDataProvider { export interface ITreeViewDataProvider {
getChildren(element?: ITreeItem): TPromise<ITreeItem[]>; getChildren(element?: ITreeItem): Promise<ITreeItem[]>;
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册