Skip to content

Commit

Permalink
No commit message
Browse files Browse the repository at this point in the history
  • Loading branch information
NikolaRHristov committed Oct 13, 2024
1 parent e97da66 commit 78c24ad
Show file tree
Hide file tree
Showing 1,866 changed files with 120,897 additions and 82,316 deletions.
190 changes: 136 additions & 54 deletions Target/CodeEditorLand/Editor/vs/base/browser/ui/tree/objectTree.d.ts
Original file line number Diff line number Diff line change
@@ -1,66 +1,148 @@
import { IIdentityProvider, IKeyboardNavigationLabelProvider, IListVirtualDelegate } from '../list/list.js';
import { AbstractTree, IAbstractTreeOptions, IAbstractTreeOptionsUpdate } from './abstractTree.js';
import { CompressibleObjectTreeModel, ElementMapper, ICompressedTreeElement, ICompressedTreeNode } from './compressedObjectTreeModel.js';
import { IObjectTreeModel } from './objectTreeModel.js';
import { ICollapseStateChangeEvent, IObjectTreeElement, ITreeModel, ITreeNode, ITreeRenderer, ITreeSorter } from './tree.js';
import { Event } from '../../../common/event.js';
export interface IObjectTreeOptions<T, TFilterData = void> extends IAbstractTreeOptions<T, TFilterData> {
readonly sorter?: ITreeSorter<T>;
import { Event } from "../../../common/event.js";
import {
IIdentityProvider,
IKeyboardNavigationLabelProvider,
IListVirtualDelegate,
} from "../list/list.js";
import {
AbstractTree,
IAbstractTreeOptions,
IAbstractTreeOptionsUpdate,
} from "./abstractTree.js";
import {
CompressibleObjectTreeModel,
ElementMapper,
ICompressedTreeElement,
ICompressedTreeNode,
} from "./compressedObjectTreeModel.js";
import { IObjectTreeModel } from "./objectTreeModel.js";
import {
ICollapseStateChangeEvent,
IObjectTreeElement,
ITreeModel,
ITreeNode,
ITreeRenderer,
ITreeSorter,
} from "./tree.js";

export interface IObjectTreeOptions<T, TFilterData = void>
extends IAbstractTreeOptions<T, TFilterData> {
readonly sorter?: ITreeSorter<T>;
}
export interface IObjectTreeSetChildrenOptions<T> {
/**
* If set, child updates will recurse the given number of levels even if
* items in the splice operation are unchanged. `Infinity` is a valid value.
*/
readonly diffDepth?: number;
/**
* Identity provider used to optimize splice() calls in the IndexTree. If
* this is not present, optimized splicing is not enabled.
*
* Warning: if this is present, calls to `setChildren()` will not replace
* or update nodes if their identity is the same, even if the elements are
* different. For this, you should call `rerender()`.
*/
readonly diffIdentityProvider?: IIdentityProvider<T>;
/**
* If set, child updates will recurse the given number of levels even if
* items in the splice operation are unchanged. `Infinity` is a valid value.
*/
readonly diffDepth?: number;
/**
* Identity provider used to optimize splice() calls in the IndexTree. If
* this is not present, optimized splicing is not enabled.
*
* Warning: if this is present, calls to `setChildren()` will not replace
* or update nodes if their identity is the same, even if the elements are
* different. For this, you should call `rerender()`.
*/
readonly diffIdentityProvider?: IIdentityProvider<T>;
}
export declare class ObjectTree<T extends NonNullable<any>, TFilterData = void> extends AbstractTree<T | null, TFilterData, T | null> {
protected readonly user: string;
protected model: IObjectTreeModel<T, TFilterData>;
get onDidChangeCollapseState(): Event<ICollapseStateChangeEvent<T | null, TFilterData>>;
constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<T>, renderers: ITreeRenderer<T, TFilterData, any>[], options?: IObjectTreeOptions<T, TFilterData>);
setChildren(element: T | null, children?: Iterable<IObjectTreeElement<T>>, options?: IObjectTreeSetChildrenOptions<T>): void;
rerender(element?: T): void;
updateElementHeight(element: T, height: number | undefined): void;
resort(element: T | null, recursive?: boolean): void;
hasElement(element: T): boolean;
protected createModel(user: string, options: IObjectTreeOptions<T, TFilterData>): ITreeModel<T | null, TFilterData, T | null>;
export declare class ObjectTree<
T extends NonNullable<any>,
TFilterData = void,
> extends AbstractTree<T | null, TFilterData, T | null> {
protected readonly user: string;
protected model: IObjectTreeModel<T, TFilterData>;
get onDidChangeCollapseState(): Event<
ICollapseStateChangeEvent<T | null, TFilterData>
>;
constructor(
user: string,
container: HTMLElement,
delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<T, TFilterData, any>[],
options?: IObjectTreeOptions<T, TFilterData>,
);
setChildren(
element: T | null,
children?: Iterable<IObjectTreeElement<T>>,
options?: IObjectTreeSetChildrenOptions<T>,
): void;
rerender(element?: T): void;
updateElementHeight(element: T, height: number | undefined): void;
resort(element: T | null, recursive?: boolean): void;
hasElement(element: T): boolean;
protected createModel(
user: string,
options: IObjectTreeOptions<T, TFilterData>,
): ITreeModel<T | null, TFilterData, T | null>;
}
interface ICompressedTreeNodeProvider<T, TFilterData> {
getCompressedTreeNode(location: T | null): ITreeNode<ICompressedTreeNode<T> | null, TFilterData>;
getCompressedTreeNode(
location: T | null,
): ITreeNode<ICompressedTreeNode<T> | null, TFilterData>;
}
export interface ICompressibleTreeRenderer<T, TFilterData = void, TTemplateData = void> extends ITreeRenderer<T, TFilterData, TTemplateData> {
renderCompressedElements(node: ITreeNode<ICompressedTreeNode<T>, TFilterData>, index: number, templateData: TTemplateData, height: number | undefined): void;
disposeCompressedElements?(node: ITreeNode<ICompressedTreeNode<T>, TFilterData>, index: number, templateData: TTemplateData, height: number | undefined): void;
export interface ICompressibleTreeRenderer<
T,
TFilterData = void,
TTemplateData = void,
> extends ITreeRenderer<T, TFilterData, TTemplateData> {
renderCompressedElements(
node: ITreeNode<ICompressedTreeNode<T>, TFilterData>,
index: number,
templateData: TTemplateData,
height: number | undefined,
): void;
disposeCompressedElements?(
node: ITreeNode<ICompressedTreeNode<T>, TFilterData>,
index: number,
templateData: TTemplateData,
height: number | undefined,
): void;
}
export interface ICompressibleKeyboardNavigationLabelProvider<T> extends IKeyboardNavigationLabelProvider<T> {
getCompressedNodeKeyboardNavigationLabel(elements: T[]): {
toString(): string | undefined;
} | undefined;
export interface ICompressibleKeyboardNavigationLabelProvider<T>
extends IKeyboardNavigationLabelProvider<T> {
getCompressedNodeKeyboardNavigationLabel(elements: T[]):
| {
toString(): string | undefined;
}
| undefined;
}
export interface ICompressibleObjectTreeOptions<T, TFilterData = void> extends IObjectTreeOptions<T, TFilterData> {
readonly compressionEnabled?: boolean;
readonly elementMapper?: ElementMapper<T>;
readonly keyboardNavigationLabelProvider?: ICompressibleKeyboardNavigationLabelProvider<T>;
export interface ICompressibleObjectTreeOptions<T, TFilterData = void>
extends IObjectTreeOptions<T, TFilterData> {
readonly compressionEnabled?: boolean;
readonly elementMapper?: ElementMapper<T>;
readonly keyboardNavigationLabelProvider?: ICompressibleKeyboardNavigationLabelProvider<T>;
}
export interface ICompressibleObjectTreeOptionsUpdate extends IAbstractTreeOptionsUpdate {
readonly compressionEnabled?: boolean;
export interface ICompressibleObjectTreeOptionsUpdate
extends IAbstractTreeOptionsUpdate {
readonly compressionEnabled?: boolean;
}
export declare class CompressibleObjectTree<T extends NonNullable<any>, TFilterData = void> extends ObjectTree<T, TFilterData> implements ICompressedTreeNodeProvider<T, TFilterData> {
protected model: CompressibleObjectTreeModel<T, TFilterData>;
constructor(user: string, container: HTMLElement, delegate: IListVirtualDelegate<T>, renderers: ICompressibleTreeRenderer<T, TFilterData, any>[], options?: ICompressibleObjectTreeOptions<T, TFilterData>);
setChildren(element: T | null, children?: Iterable<ICompressedTreeElement<T>>, options?: IObjectTreeSetChildrenOptions<T>): void;
protected createModel(user: string, options: ICompressibleObjectTreeOptions<T, TFilterData>): ITreeModel<T | null, TFilterData, T | null>;
updateOptions(optionsUpdate?: ICompressibleObjectTreeOptionsUpdate): void;
getCompressedTreeNode(element?: T | null): ITreeNode<ICompressedTreeNode<T> | null, TFilterData>;
export declare class CompressibleObjectTree<
T extends NonNullable<any>,
TFilterData = void,
>
extends ObjectTree<T, TFilterData>
implements ICompressedTreeNodeProvider<T, TFilterData>
{
protected model: CompressibleObjectTreeModel<T, TFilterData>;
constructor(
user: string,
container: HTMLElement,
delegate: IListVirtualDelegate<T>,
renderers: ICompressibleTreeRenderer<T, TFilterData, any>[],
options?: ICompressibleObjectTreeOptions<T, TFilterData>,
);
setChildren(
element: T | null,
children?: Iterable<ICompressedTreeElement<T>>,
options?: IObjectTreeSetChildrenOptions<T>,
): void;
protected createModel(
user: string,
options: ICompressibleObjectTreeOptions<T, TFilterData>,
): ITreeModel<T | null, TFilterData, T | null>;
updateOptions(optionsUpdate?: ICompressibleObjectTreeOptionsUpdate): void;
getCompressedTreeNode(
element?: T | null,
): ITreeNode<ICompressedTreeNode<T> | null, TFilterData>;
}
export {};
Original file line number Diff line number Diff line change
@@ -1,51 +1,94 @@
import { IIdentityProvider } from '../list/list.js';
import { IIndexTreeModelOptions, IIndexTreeModelSpliceOptions } from './indexTreeModel.js';
import { ICollapseStateChangeEvent, IObjectTreeElement, ITreeListSpliceData, ITreeModel, ITreeModelSpliceEvent, ITreeNode, ITreeSorter } from './tree.js';
import { Event } from '../../../common/event.js';
export type ITreeNodeCallback<T, TFilterData> = (node: ITreeNode<T, TFilterData>) => void;
export interface IObjectTreeModel<T extends NonNullable<any>, TFilterData extends NonNullable<any> = void> extends ITreeModel<T | null, TFilterData, T | null> {
setChildren(element: T | null, children: Iterable<IObjectTreeElement<T>> | undefined, options?: IObjectTreeModelSetChildrenOptions<T, TFilterData>): void;
resort(element?: T | null, recursive?: boolean): void;
import { Event } from "../../../common/event.js";
import { IIdentityProvider } from "../list/list.js";
import {
IIndexTreeModelOptions,
IIndexTreeModelSpliceOptions,
} from "./indexTreeModel.js";
import {
ICollapseStateChangeEvent,
IObjectTreeElement,
ITreeListSpliceData,
ITreeModel,
ITreeModelSpliceEvent,
ITreeNode,
ITreeSorter,
} from "./tree.js";

export type ITreeNodeCallback<T, TFilterData> = (
node: ITreeNode<T, TFilterData>,
) => void;
export interface IObjectTreeModel<
T extends NonNullable<any>,
TFilterData extends NonNullable<any> = void,
> extends ITreeModel<T | null, TFilterData, T | null> {
setChildren(
element: T | null,
children: Iterable<IObjectTreeElement<T>> | undefined,
options?: IObjectTreeModelSetChildrenOptions<T, TFilterData>,
): void;
resort(element?: T | null, recursive?: boolean): void;
}
export interface IObjectTreeModelSetChildrenOptions<T, TFilterData> extends IIndexTreeModelSpliceOptions<T, TFilterData> {
export interface IObjectTreeModelSetChildrenOptions<T, TFilterData>
extends IIndexTreeModelSpliceOptions<T, TFilterData> {}
export interface IObjectTreeModelOptions<T, TFilterData>
extends IIndexTreeModelOptions<T, TFilterData> {
readonly sorter?: ITreeSorter<T>;
readonly identityProvider?: IIdentityProvider<T>;
}
export interface IObjectTreeModelOptions<T, TFilterData> extends IIndexTreeModelOptions<T, TFilterData> {
readonly sorter?: ITreeSorter<T>;
readonly identityProvider?: IIdentityProvider<T>;
}
export declare class ObjectTreeModel<T extends NonNullable<any>, TFilterData extends NonNullable<any> = void> implements IObjectTreeModel<T, TFilterData> {
private user;
readonly rootRef: null;
private model;
private nodes;
private readonly nodesByIdentity;
private readonly identityProvider?;
private sorter?;
readonly onDidSpliceModel: Event<ITreeModelSpliceEvent<T | null, TFilterData>>;
readonly onDidSpliceRenderedNodes: Event<ITreeListSpliceData<T | null, TFilterData>>;
readonly onDidChangeCollapseState: Event<ICollapseStateChangeEvent<T, TFilterData>>;
readonly onDidChangeRenderNodeCount: Event<ITreeNode<T, TFilterData>>;
get size(): number;
constructor(user: string, options?: IObjectTreeModelOptions<T, TFilterData>);
setChildren(element: T | null, children?: Iterable<IObjectTreeElement<T>>, options?: IObjectTreeModelSetChildrenOptions<T, TFilterData>): void;
private _setChildren;
private preserveCollapseState;
rerender(element: T | null): void;
resort(element?: T | null, recursive?: boolean): void;
private resortChildren;
getFirstElementChild(ref?: T | null): T | null | undefined;
getLastElementAncestor(ref?: T | null): T | null | undefined;
has(element: T | null): boolean;
getListIndex(element: T | null): number;
getListRenderCount(element: T | null): number;
isCollapsible(element: T | null): boolean;
setCollapsible(element: T | null, collapsible?: boolean): boolean;
isCollapsed(element: T | null): boolean;
setCollapsed(element: T | null, collapsed?: boolean, recursive?: boolean): boolean;
expandTo(element: T | null): void;
refilter(): void;
getNode(element?: T | null): ITreeNode<T | null, TFilterData>;
getNodeLocation(node: ITreeNode<T, TFilterData>): T | null;
getParentNodeLocation(element: T | null): T | null;
private getElementLocation;
export declare class ObjectTreeModel<
T extends NonNullable<any>,
TFilterData extends NonNullable<any> = void,
> implements IObjectTreeModel<T, TFilterData>
{
private user;
readonly rootRef: null;
private model;
private nodes;
private readonly nodesByIdentity;
private readonly identityProvider?;
private sorter?;
readonly onDidSpliceModel: Event<
ITreeModelSpliceEvent<T | null, TFilterData>
>;
readonly onDidSpliceRenderedNodes: Event<
ITreeListSpliceData<T | null, TFilterData>
>;
readonly onDidChangeCollapseState: Event<
ICollapseStateChangeEvent<T, TFilterData>
>;
readonly onDidChangeRenderNodeCount: Event<ITreeNode<T, TFilterData>>;
get size(): number;
constructor(
user: string,
options?: IObjectTreeModelOptions<T, TFilterData>,
);
setChildren(
element: T | null,
children?: Iterable<IObjectTreeElement<T>>,
options?: IObjectTreeModelSetChildrenOptions<T, TFilterData>,
): void;
private _setChildren;
private preserveCollapseState;
rerender(element: T | null): void;
resort(element?: T | null, recursive?: boolean): void;
private resortChildren;
getFirstElementChild(ref?: T | null): T | null | undefined;
getLastElementAncestor(ref?: T | null): T | null | undefined;
has(element: T | null): boolean;
getListIndex(element: T | null): number;
getListRenderCount(element: T | null): number;
isCollapsible(element: T | null): boolean;
setCollapsible(element: T | null, collapsible?: boolean): boolean;
isCollapsed(element: T | null): boolean;
setCollapsed(
element: T | null,
collapsed?: boolean,
recursive?: boolean,
): boolean;
expandTo(element: T | null): void;
refilter(): void;
getNode(element?: T | null): ITreeNode<T | null, TFilterData>;
getNodeLocation(node: ITreeNode<T, TFilterData>): T | null;
getParentNodeLocation(element: T | null): T | null;
private getElementLocation;
}
Loading

0 comments on commit 78c24ad

Please sign in to comment.