UNPKG

jswm

Version:

Virtual Window for React

177 lines (176 loc) 4.12 kB
import React, { Component, ReactNode } from "react"; import { TreeView, TreeItemData } from ".."; export declare enum TreeItemStyle { CHECKBOX = 1 } export interface TreeItemProps { itemStyle?: number; children?: ReactNode; label?: ReactNode; expand?: boolean; value?: unknown; treeView?: TreeView; parent?: TreeItem | TreeView; select?: false; checked?: false; uniqueKey?: number; onExpand?: (expand: boolean, create: boolean) => void; onItemClick?: () => void; onDoubleClick?: () => void; item?: TreeItemData; } export interface State { item: TreeItemData; childAnimation?: boolean; expandState?: boolean; } /** *TreeView用アイテムクラス * * @export * @class TreeItem * @extends {Component<TreeItemProps, State>} */ export declare class TreeItem extends Component<TreeItemProps, State> { static referenceItem: Map<number, TreeItem>; static defaultProps: { itemStyle: number; label: string; expand: boolean; select: boolean; checked: boolean; items: never[]; }; private updateCache; private keyCache; private item; private mount; constructor(props: TreeItemProps); componentDidMount(): void; componentWillUnmount(): void; shouldComponentUpdate(_props: TreeItemProps, state: State): boolean; render(): JSX.Element; updateState(): void; onSelect(select: boolean): void; /** *ツリーの開閉を行う * * @param {boolean} expand 開閉状態 * @memberof TreeItem */ setExpand(expand: boolean): void; /** *アイテムを選択する * * @memberof TreeItem */ select(): void; /** *ラベルを返す * * @returns {React.ReactNode} * @memberof TreeItem */ getLabel(): React.ReactNode; /** *ラベルを設定する * * @param {ReactNode} label * @memberof TreeItem */ setLabel(label: ReactNode): void; /** *値を取得する * * @returns {unknown} * @memberof TreeItem */ getValue(): unknown; /** *値を設定する * * @param {unknown} value * @memberof TreeItem */ setValue(value: unknown): void; /** *valueに該当するアイテムを一つ見つける * * @param {unknown} value * @returns {(TreeItem | null)} * @memberof TreeItem */ findItem(value: unknown): TreeItem | null; /** *valueに該当するアイテムを複数見つける * * @param {unknown} value * @returns {TreeItem[]} * @memberof TreeItem */ findItems(value: unknown): TreeItem[]; /** *アイテムの追加 * * @param {TreeItemProps} props * @memberof TreeItem */ addItem(props?: TreeItemProps): TreeItem; /** *指定したアイテムを削除 * * @param {TreeItem} item * @returns {boolean} * @memberof TreeItem */ delItem(item: TreeItem): boolean; /** *自分自身を削除 * * @memberof TreeItem */ remove(): void; /** *子アイテムをすべて削除 * * @memberof TreeItem */ clear(): void; /** *子アイテムを取得 * * @returns {TreeItemProps[]} * @memberof TreeItem */ getChildren(): TreeItemData[]; /** *チェックボックスの設定 * * @param {boolean} checked * @memberof TreeItem */ setChecked(checked: boolean): void; /** *チェックされているアイテムを返す * * @returns {TreeItem[]} * @memberof TreeItem */ getCheckItems(): TreeItem[]; /** *アイテムに対してキーを関連付ける * * @param {string} name * @param {*} value * @memberof TreeItem */ setKey(name: string, value: unknown): void; /** *アイテムのキーを取得する * * @param {string} name * @returns * @memberof TreeItem */ getKey(name: string): unknown; }