UNPKG

2.48 kBTypeScriptView Raw
1import '../../../../src/browser/tree/tree-compression/tree-compression.css';
2import * as React from 'react';
3import { ArrayUtils } from '../../../common/types';
4import { ContextMenuRenderer } from '../../context-menu-renderer';
5import { CompressionToggle, TreeCompressionService } from './tree-compression-service';
6import { CompositeTreeNode, TreeNode } from '../tree';
7import { NodeProps, TreeProps, TreeWidget } from '../tree-widget';
8import { TreeViewWelcomeWidget } from '../tree-view-welcome-widget';
9import { CompressedTreeModel } from './compressed-tree-model';
10export interface CompressedChildren {
11 compressionChain?: ArrayUtils.HeadAndTail<TreeNode>;
12}
13export interface CompressedNodeRow extends TreeWidget.NodeRow, CompressedChildren {
14}
15export interface CompressedNodeProps extends NodeProps, CompressedChildren {
16}
17export declare class CompressedTreeWidget extends TreeViewWelcomeWidget {
18 readonly model: CompressedTreeModel;
19 protected readonly compressionToggle: CompressionToggle;
20 protected readonly compressionService: TreeCompressionService;
21 constructor(props: TreeProps, model: CompressedTreeModel, contextMenuRenderer: ContextMenuRenderer);
22 protected rows: Map<string, CompressedNodeRow>;
23 toggleCompression(newCompression?: boolean): void;
24 protected shouldDisplayNode(node: TreeNode): boolean;
25 protected getDepthForNode(node: TreeNode, depths: Map<CompositeTreeNode | undefined, number>): number;
26 protected toNodeRow(node: TreeNode, index: number, depth: number): CompressedNodeRow;
27 protected doRenderNodeRow({ node, depth, compressionChain }: CompressedNodeRow): React.ReactNode;
28 protected rowIsSelected(node: TreeNode, props: CompressedNodeProps): boolean;
29 protected getCaptionAttributes(node: TreeNode, props: CompressedNodeProps): React.Attributes & React.HTMLAttributes<HTMLElement>;
30 protected getCaptionChildren(node: TreeNode, props: CompressedNodeProps): React.ReactNode;
31 protected getCaptionChildEventHandlers(node: TreeNode, props: CompressedNodeProps): React.Attributes & React.HtmlHTMLAttributes<HTMLElement>;
32 protected handleUp(event: KeyboardEvent): void;
33 protected handleDown(event: KeyboardEvent): void;
34 protected handleLeft(event: KeyboardEvent): Promise<void>;
35 protected handleRight(event: KeyboardEvent): Promise<void>;
36 protected getSeparatorContent(node: TreeNode, props: CompressedNodeProps): React.ReactNode;
37}
38//# sourceMappingURL=compressed-tree-widget.d.ts.map
\No newline at end of file