提交 94f5a496 编写于 作者: J Joao Moreno

simplify DataTree getChildren

上级 86c490a1
......@@ -11,15 +11,9 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { Emitter, Event, mapEvent } from 'vs/base/common/event';
import { timeout } from 'vs/base/common/async';
export interface IDataTreeElement<T> {
readonly element: T;
readonly collapsible?: boolean;
readonly collapsed?: boolean;
}
export interface IDataSource<T extends NonNullable<any>> {
hasChildren(element: T | null): boolean;
getChildren(element: T | null): Thenable<IDataTreeElement<T>[]>;
getChildren(element: T | null): Thenable<T[]>;
}
enum DataTreeNodeState {
......@@ -193,15 +187,17 @@ export class DataTree<T extends NonNullable<any>, TFilterData = void> implements
node.state = DataTreeNodeState.Loaded;
this._onDidChangeNodeState.fire(node);
const createTreeElement = (el: IDataTreeElement<T>): ITreeElement<IDataTreeNode<T>> => {
const createTreeElement = (element: T): ITreeElement<IDataTreeNode<T>> => {
const collapsible = this.dataSource.hasChildren(element);
return {
element: {
element: el.element,
element: element,
state: DataTreeNodeState.Uninitialized,
parent: node
},
collapsible: el.collapsible,
collapsed: typeof el.collapsed === 'boolean' ? el.collapsed : true
collapsible,
collapsed: true
};
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册