UNPKG

sussudio

Version:

An unofficial VS Code Internal API

30 lines (29 loc) 1.83 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IListVirtualDelegate } from "../list/list.mjs"; import { AbstractTree, AbstractTreeViewState, IAbstractTreeOptions } from "./abstractTree.mjs"; import { IList } from "./indexTreeModel.mjs"; import { ObjectTreeModel } from "./objectTreeModel.mjs"; import { IDataSource, ITreeModel, ITreeNode, ITreeRenderer, ITreeSorter } from "./tree.mjs"; export interface IDataTreeOptions<T, TFilterData = void> extends IAbstractTreeOptions<T, TFilterData> { readonly sorter?: ITreeSorter<T>; } export declare class DataTree<TInput, T, TFilterData = void> extends AbstractTree<T | null, TFilterData, T | null> { private user; private dataSource; protected model: ObjectTreeModel<T, TFilterData>; private input; private identityProvider; private nodesByIdentity; constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<T>, renderers: ITreeRenderer<T, TFilterData, any>[], dataSource: IDataSource<TInput, T>, options?: IDataTreeOptions<T, TFilterData>); getInput(): TInput | undefined; setInput(input: TInput | undefined, viewState?: AbstractTreeViewState): void; updateChildren(element?: TInput | T): void; resort(element?: T | TInput, recursive?: boolean): void; refresh(element?: T): void; private _refresh; private iterate; protected createModel(user: string, view: IList<ITreeNode<T, TFilterData>>, options: IDataTreeOptions<T, TFilterData>): ITreeModel<T | null, TFilterData, T | null>; }